这是python中的错误吗?

时间:2018-02-03 18:39:52

标签: python-3.x exception

在我的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)

以下是异常抛出。

Exception

我在第5行遗漏了),但错误显示在第7行。

这是一个错误还是有错误显示错误的解释?

1 个答案:

答案 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])

没关系,因为缩进在未闭合的括号内是灵活的。解析器不负责猜测哪些括号可能会意外打开;它只是报告它首先在当前上下文中找到在语法上无效的内容。