import sys
def func():
T = int(next(sys.stdin))
for i in range(0,T):
N = int(next(sys.stdin))
print (N)
func()
这里我将输入T用于for循环并迭代T,它再次给出Runtime error time: 0.1 memory: 10088 signal:-1
。我尝试过使用sys.stdin.readline()
它也会出现同样的错误。
答案 0 :(得分:2)
我在http://ideone.com/8U5zTQ查看了您的代码。在代码本身看起来很好,但你的输入无法处理。
因为它是:
5 24 2
将是字符串:
"5 24 2"
这几乎不是一个int,即使你试图施展它。因此,您可以将其转换为包含以下内容的列表:
inputlist = next(sys.stdin[:-2]).split(" ")
将列表中的整数放在一行中。循环结束。
之后代码仍然处于循环中,因为它需要2个整数,但至少你得到一些输出。
由于我并不完全是你想要达到的目标,你现在可以遍历该列表并打印输入:
inputlist = next(sys.stdin[:-2]).split(" ")
for i in inputlist
print(i)
另一个解决方案就是,你只需要在每行输入一个数字,这也可以使用
所以而不是
5 24 2
你放入
5
24
2
在Ideone上你还在页面的底部有一个错误回溯:
Traceback (most recent call last):
File "./prog.py", line 8, in <module>
File "./prog.py", line 3, in func
ValueError: invalid literal for int() with base 10: '1 5 24 2\n'
向您展示了它无法处理您的输入