如何通过在 python 3 中结束文件来终止输入
How do I terminate an input by ending the file in python 3
我正在处理的代码是一个简单的减法工作,但是当我需要结束输入时,我的问题就出现了。
问题告诉我输入在文件末尾终止,当问题有任意数量的输入时我不知道这意味着什么。
while(True):
data=[]
data= list(map(int,sys.stdin.readline().split()))
if (data[1]>data[0]):
total=data[1]-data[0]
else:
total=data[0]-data[1]
print(total)
如何更改此代码以允许它在用户不输入任何内容的情况下结束
按照评论中的建议,使用循环遍历 sys.stdin
。我还添加了一些其他改进:
for line in sys.stdin:
data = [int(x) for x in line.split()]
total = abs(data[1] - data[0])
print(total)
我在 Open Kattis 平台上研究问题时遇到了这个答案:
https://open.kattis.com/problems/different
我想我们都在做同样的事情。但是上面的解决方案不起作用,我一直收到“运行 时间错误”当你在 Kattis 上使用 Python 时很难弄清楚错误是什么,因为他们几乎从不给你任何形式的堆栈跟踪类型输出。
我需要为 sys 添加一个导入。我想出来了,因为我的 IDE 表示需要它。
import sys
for i in sys.stdin:
a, b = [int(x) for x in i.split()]
print(abs(a - b))
我正在处理的代码是一个简单的减法工作,但是当我需要结束输入时,我的问题就出现了。
问题告诉我输入在文件末尾终止,当问题有任意数量的输入时我不知道这意味着什么。
while(True):
data=[]
data= list(map(int,sys.stdin.readline().split()))
if (data[1]>data[0]):
total=data[1]-data[0]
else:
total=data[0]-data[1]
print(total)
如何更改此代码以允许它在用户不输入任何内容的情况下结束
按照评论中的建议,使用循环遍历 sys.stdin
。我还添加了一些其他改进:
for line in sys.stdin:
data = [int(x) for x in line.split()]
total = abs(data[1] - data[0])
print(total)
我在 Open Kattis 平台上研究问题时遇到了这个答案:
https://open.kattis.com/problems/different
我想我们都在做同样的事情。但是上面的解决方案不起作用,我一直收到“运行 时间错误”当你在 Kattis 上使用 Python 时很难弄清楚错误是什么,因为他们几乎从不给你任何形式的堆栈跟踪类型输出。
我需要为 sys 添加一个导入。我想出来了,因为我的 IDE 表示需要它。
import sys
for i in sys.stdin:
a, b = [int(x) for x in i.split()]
print(abs(a - b))