Python 尝试从stdin获取输入并转换为sum的整数

Python 尝试从stdin获取输入并转换为sum的整数,python,Python,对Python来说非常陌生。 尝试以数字的形式从stdin获取输入,例如416 2876 2864 8575 9784,并使用循环将其转换为int表示所有的总和 在循环中转换为int使用时会有一段很糟糕的时间。我想得到一个关于整数问题的提示,然后试着自己解决。正在尝试测试我的代码,以便在转换后打印整数 目前有: import sys s=sys.stdin n=(sys.stdin.split()) while (int(n) >= 1): print(n) 您可能不想直接使用s

对Python来说非常陌生。 尝试以数字的形式从stdin获取输入,例如416 2876 2864 8575 9784,并使用循环将其转换为int表示所有的总和

在循环中转换为int使用时会有一段很糟糕的时间。我想得到一个关于整数问题的提示,然后试着自己解决。正在尝试测试我的代码,以便在转换后打印整数

目前有:

import sys
s=sys.stdin
n=(sys.stdin.split())
while (int(n) >= 1):
    print(n)

您可能不想直接使用
sys.stdin
。改用
input()

line = input("Enter some numbers: ")

total = 0

for n in line.split():
    total = total + int(n)

print("The total is: %d" % total)
如果要从stdin读取并转换为int,只需在stdin和split上迭代,然后转换每个int和sum:

或使用地图:

import sys
print(sum(sum(map(int, sub.split())) for sub  in sys.stdin))
或者直接调用read和split

import sys
print(sum(map(int, sys.stdin.read().split())))

在Python3中,原始输入已经被输入替换了,我想是的。我不想把我的答案弄得太乱;如果poster正在运行Python3,我假设他会响应,然后我会编辑我的答案。是的,我正在学习/使用Python3。我之所以使用stdin,是因为它们是在一个专门用于学习的网站上为我生成的输入。我现在正试着调用它们并获取整数。没错。这起作用了。根据我自己的理解,我如何指定仅在stdin内的特定线路上运行?例如,sys.stdin.read(第2-5行)?您可以调用
sys.stdin.readlines()
,返回输入行列表,然后选择要使用的行。然而,这要求提供输入的人在完成输入时也发送EOF信号(否则它将尝试永久读取)。输入来自何处?您遇到了什么问题?先生们,我使用标准输入法,因为它们是为我在网站上学习而生成的输入。我现在正试着调用它们并获取整数。我知道你在那里做了什么,但需要从stdin中提取已经存在的数字。
import sys
print(sum(sum(map(int, sub.split())) for sub  in sys.stdin))
import sys
print(sum(map(int, sys.stdin.read().split())))