input()的语法错误
我刚开始学Python,正在为一个在线编程网站写程序。问题是,当我在IDLE(Python的一个开发环境)里运行我的代码时,一切都正常,输出也正确。但当我在在线编译器上运行时,却出现了“运行时错误 - NZEC”,并且没有输出。
Traceback (most recent call last):
File "/tmp/editor_trsource_1407389496_406898.py", line 5, in
A=int(input())
File "", line 1
3 5 2
^
SyntaxError: invalid syntax
这让我很烦,因为我看不出问题出在哪里。任何帮助我都非常感激。
array1=[]
array2=[]
T=int(input())
for z in range(T):
A=int(input())
B=int(input())
N=int(input())
for i in range(0,10**7):
try:
array1.append(i+1 * int(A))
except MemoryError :
break
for j in range(0,10**7):
try:
array2.append(j+1 * int(A))
except MemoryError :
break
filter(None ,array1)
filter(None ,array2)
array3 = array1 + array2
array3 = sorted(set(array3))
print (array3[N])
1 个回答
1
input() 就相当于 eval(raw_input(prompt))。你看到的那个错误是因为 Python 尝试去计算 "3 5 2",但是失败了。下面的代码可以让你输入 "3 5 2",然后把这些值分别赋给 A、B 和 C。
>>> (A, B, C)=([int(x) for x in raw_input('3 numbers pls:').split()])
3 numbers pls:3 5 2
>>> A,B,C
(3, 5, 2)
顺便说一下,如果你不需要计算,只想获取原始输入内容,可以使用 raw_input()。