Python的新手。 尝试以数字形式从stdin获取输入。 416 2876 2864 8575 9784并使用循环转换为int的总和。
在转换为int以便在循环中使用时有一段可怕的时间。想得到整数问题的提示,然后尝试解决自己。试图在转换后测试我的代码以打印整数。
目前有:
import sys
s=sys.stdin
n=(sys.stdin.split())
while (int(n) >= 1):
print(n)
答案 0 :(得分:1)
您可能不想直接使用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)
答案 1 :(得分:0)
user_input = input("Type some numbers: ")
numbers = user_input.split()
print(sum([int(x) for x in numbers]))
答案 2 :(得分:0)
如果你想从 stdin 读取并转换为int只是迭代stdin并拆分然后转换每个int和 sum :
~$ cat test.py
import sys
print(sum(int(i) for sub in sys.stdin for i in sub.split()))
padraic@dell:~$ printf "416 2876 2864 8575 9784\n123 456 789 120"|python test.py
26003
或使用地图:
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())))