input()的语法错误

0 投票
1 回答
7239 浏览
提问于 2025-04-18 16:20

我刚开始学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()。

撰写回答