在python中从多行读取多个输入
输入:在python中从多行读取多个输入,python,python-3.x,stdin,Python,Python 3.x,Stdin,输入: 69141 947779 输出: 1300 336 我尝试过这个解决方案 但我的问题是最后一行的结尾未知 我的代码: for line in iter(input,"\n"): a,b = line.split() a = int(a) b = int(b) result = 2 * (a - b) print(result
69141
947779 输出:
1300
336 我尝试过这个解决方案 但我的问题是最后一行的结尾未知 我的代码:
for line in iter(input,"\n"):
a,b = line.split()
a = int(a)
b = int(b)
result = 2 * (a - b)
print(result)
My code is printing the desired output but the for loop is not terminating. I am new bee to python is there any way to find last input from stdin console???
函数输入正在剥离尾随\n,所以只需在函数iter中使用空字符串作为分隔符。函数输入正在剥离尾随\n,所以只需在函数iter中使用空字符串作为分隔符。您提到您尝试过 但是您似乎实现了一个
'\n'
作为sentinel
(使用来自链接的帖子中的术语)
您可能需要尝试实际使用停止词,例如:
stopword = 'stop'
for line in iter(input, stopword):
a,b = line.split()
a = int(a)
b = int(b)
result = 2 * (a - b)
print(result)
你提到你试过了 但是您似乎实现了一个
'\n'
作为sentinel
(使用来自链接的帖子中的术语)
您可能需要尝试实际使用停止词,例如:
stopword = 'stop'
for line in iter(input, stopword):
a,b = line.split()
a = int(a)
b = int(b)
result = 2 * (a - b)
print(result)
可能不是您需要的,但我不知道您的输入来自何处,我尝试通过使用
fileinput
读取std中的所有内容来调整您的代码,并在按下“Enter”时离开:
import fileinput
for line in fileinput.input():
if line == '\n':
break
a, b = line.split()
a = int(a)
b = int(b)
result = 2 * (a - b)
print(result)
可能不是您需要的,但我不知道您的输入来自何处,我尝试通过使用fileinput
读取std中的所有内容来调整您的代码,并在按下“Enter”时离开:
import fileinput
for line in fileinput.input():
if line == '\n':
break
a, b = line.split()
a = int(a)
b = int(b)
result = 2 * (a - b)
print(result)
您缺少的是,input()
将换行符从它返回的字符串的末尾剥离出来,这样当您单独在一行中点击
时,iter()
看到的(即它测试的最终终止循环的内容)不是“\n”
,而是空字符串”
(注意,双引号之间绝对没有空格)
在这里,我剪切并粘贴了一个示例会话,它向您展示了如何定义正确的sentinel字符串(空字符串)
如您所见,当我在n输入线上单独按下
时,循环终止
ps:我已经看到了这个帖子(我投了更高的票)。我希望我的答案能增加一点上下文,并显示出它是如何有效地给出正确的答案。你缺少的是input()
将换行符从字符串的末尾剥离出来,这样当你单独在一行中点击
时,什么iter()
看到的(即,它测试最终终止循环的内容)不是“\n”
,而是空字符串”
(注意,双引号之间肯定没有空格)
在这里,我剪切并粘贴了一个示例会话,它向您展示了如何定义正确的sentinel字符串(空字符串)
如您所见,当我在n输入线上单独按下
时,循环终止
ps:我已经看到了这个帖子(我已经投了更高的票)。我希望我的答案能增加一点上下文,并显示出它是如何有效地给出正确的答案。你能解释一下为什么要使用停止作为停止字吗?在我的例子中,我不知道输入何时会终止。你需要以某种方式打破for循环。在这个例子中,“输入”“停止\n”将中断循环。请告诉我可以使用什么作为输入的停止字。您能解释一下为什么使用停止字作为停止字吗?在我的情况下,我不知道输入何时会终止。您需要以某种方式中断for循环。在本例中,“输入”为“停止\n”将中断循环。请告诉我可以使用什么作为输入的停止字。我尝试过使用空字符串作为分隔符,但在这种情况下,for循环也没有终止。我尝试过使用空字符串作为分隔符,但在这种情况下for循环也没有终止。我不知道内置函数输入
。如果您使用它,我的sricpt会工作t在python控制台
之外输入
。如果您在python控制台
之外使用,我的sricpt就可以工作,否则@gboffi answers可能就是您要找的。