我在运行此代码时收到SyntaxError:语法无效:
total = int(input("compra total: "))
if total > 700000: totald = total - total*0.2
elif total > 300000: totald = total - total*0.15
elif total > 150000: totald = total -total*0.10
else: totald = total*1
print("Centro Comercial Unaleño\n" "Compra Más y Gasta Menos\n" "NIT: 899.999.063\n" "Total:$"+str(int(totald)) "En esta compra tu descuento fue $"+str(int(total-totald)))
我意识到错误未在此处放置逗号或总和符号:
......"Total: $"+str(int**(totald)), "\nEn** esta compra tu descuento fue $"+str(int(total-totald)))
但我不明白必须放置两个选项中任何一个的原因。为什么我不能仅在其他字符串中放置空格,两个符号中的任何一个的目的是什么?
谢谢您的帮助!!
因为您依靠字符串-文字串联来连接由字符串分隔的文字。请参阅文档。
这仅适用于字符串文字。编译器无法将字符串连接到由空格(仅文字)分隔的任意表达式。
>>> "foo" "bar"
'foobar'
>>> 'foo' frobnicate()
File "<stdin>", line 1
'foo' frobnicate()
^
SyntaxError: invalid syntax
这是在编译时发生的
>>> import dis
>>> dis.dis("'foo' 'bar'")
1 0 LOAD_CONST 0 ('foobar')
2 RETURN_VALUE
因此,它不能依赖于运行时结果。
逗号有效是因为它随后成为的另一个参数print
。
例如
>>> print('hello')
hello
>>> print('hello', 'world')
hello world
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句