我不知道为什么我的在线ide在执行以下代码时会抛出错误:
n = int(input())
lst = []
for i in range(n):
lst.append(input())
print(lst)
当我将这些作为输入时:
5
first string
second string
third string
almost done
done now
我得到这个错误:
$python main.py
Traceback (most recent call last):
File "main.py", line 6, in <module>
lst.append(input())
File "<string>", line 1
first string
^
SyntaxError: invalid syntax
有趣的是,我在VS code上用相同的输入运行相同的代码,没有遇到错误,甚至得到了结果:
['first string', 'second string', 'third string', 'almost done', 'done now']
发生了什么事?我很困惑。。。
问题是在线IDE使用Python 2.7,需要使用raw_input()
来正确处理输入。你需要这样的东西:
n = int(input())
lst = []
for i in range(n):
lst.append(raw_input().strip())
print(lst)
# prints ['first string', 'second string', 'third string', 'almost done', 'done now']
您可以在这里阅读更多关于input
和raw_input
之间的区别。