究竟什么是“无效语法”,为什么我一直在使用Python?

时间:2013-01-11 18:30:17

标签: python python-3.x

我正在尝试此代码,但我一直遇到问题。我一直收到消息“无效语法”,并突出显示“maracs”作为语法错误。我用几个不存在的单词替换它并修改了代码,但它仍然给了我同样的错误。是的,我的变量是随机的。此外,我真的需要简单的答案,因为我几乎无法理解我在互联网上找到的所有信息。

start = input("On what day will you be leaving? (1 to 7 representing Monday to Sunday respectively.)"
maracs = input("How many days will your stay be?")
pooper = int(start) + int(maracs)
lob = pooper % 7
if lob = 0:
 print("You will arrive on Day 7 of the week of your arrival.")
else
 print("You will arrive on Day "lob "of the week of your arrival.")

另外,我还有另外一个问题。当我尝试使用其他代码时,我不断收到“NameError”。请以简单的方式帮助定义“NameError”。

a = All
b = work
d = no
e = play
f = makes
g = Jack
h = a
i = dull
j = boy

print(a, b, "and", d, e, f, g, h, i, j)

2 个答案:

答案 0 :(得分:9)

您忘记了前一行的右括号:

start = input("On what day will you be leaving? (1 to 7 representing Monday to Sunday respectively.)"

请注意,结束报价后没有) 。因为python允许你在使用括号时将多行连接在一起,所以解析器在下一行之前不会知道任何错误,在那里你得到你的SyntaxError,因为那里的内容没有意义。

至于你的第二个例子,你需要在字符串周围加上引号,All不是字符串而是变量,你没有定义All

>>> a = All
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'All' is not defined
>>> a ='All'
>>> a
'All'

答案 1 :(得分:0)

您没有关闭第一行中的括号(括号):

您必须使用括号结束功能。像input('something')一样。你做的是:input("On what day will you be leaving..."&lt; - 你忘记了右括号

start = input("On what day will you be leaving? (1 to 7 representing Monday to Sunday respectively.)")

编辑: 并且您在第二个代码中得到名称错误,因为您正在尝试打印具有单词的变量。您需要将它们放在" "' '等引号中。当你在没有" "的情况下编写它们时,Python会查找具有该名称的函数/关键字。 例如; a = "All"