在我的Python 3.5代码中
one=[]
dict={}
for i in range(int(input())):
for j in range(9):
one.append(int(input()) #missing one ) <- Line 5
dict[1]='hello' # Line 7
print(dict)
以下是异常抛出。
我在第5行遗漏了)
,但错误显示在第7行。
这是一个错误还是有错误显示错误的解释?
答案 0 :(得分:1)
解析器不知道(实际上,无法知道)您忘记了结束)
。它只知道在跳过空格后,它不希望在dict
之后立即找到一个标识符(在这种情况下为int(input())
)。您将从更明显的错误
>>> one.append(int("3") dict[1]=3)
File "<stdin>", line 1
one.append(int("3") dict[1]=3)
^
SyntaxError: invalid syntax
类似的代码
for i in range(int(input())):
for j in range(9):
one.append(int(input())
+ dict[1])
没关系,因为缩进在未闭合的括号内是灵活的。解析器不负责猜测哪些括号可能会意外打开;它只是报告它首先在当前上下文中找到在语法上无效的内容。