如何让这段代码输入多个数字,然后在用输入的多个数字去输出结果
sum=0none=1
try:
while(none):
N=int(input())
if N>0 and N<=1000:
none=0
for i in range(1,N+1):
sum=sum+i
print(sum)
except EOFError:
pass
现在只能输入一个数字跟输出一个结果,我想输入多个数字跟输出多个结果 try:
while True:
data = []
numbers = input('Please input some numbers, such as: 12,34,30 \n').split(',')
for num in numbers:
num = int(num)
if 0 < num <= 1000:
data.append(num)
if len(data) == len(numbers):
break
result = []
for num in data:
total = 0
for i in range(1, num + 1):
total += i
result.append(total)
print(result)
except EOFError:
pass
suchocolate 发表于 2022-12-21 22:43
我的意思是
输入10
100
输出 55
5050
这种格式的,兄弟你这个好像有点复杂了 本帖最后由 suchocolate 于 2022-12-22 14:08 编辑
爱意随风起9306 发表于 2022-12-22 12:20
我的意思是
输入10
100
1) input这种函数,当你输入回车后它就认为是输入结束了,所以这种输入不支持
10回车
100回车
2)你可以把split里面的换成空格,可以用作为分割符号,输入:10 22 33 这种就可以了
3)按照你的旧脚本的方式写的,已经不算复杂了,你可以根据自己的需要修改。
4)要是按照我的思路,函数应该各自负责自己的任务,录入数据就做录入的工作,负责计算就负责计算。实际工作也时这么分工的,而且数据一般不会input输入,可以从别的源头导入。
def input_data():
while True:
numbers =
data =
if len(data) == len(numbers):
return data
def main():
data =
# data = input_data()
print()
if __name__ == "__main__":
main()
def foo():
sum=0
none=1
try:
while(none):
N=int(input())
if N>0 and N<=1000:
none=0
for i in range(1,N+1):
sum=sum+i
print(sum)
except EOFError:
pass
if __name__ == '__main__':
x = int(input('输入循环次数:'))
for i in range(x):
print(f'\n第{i+1}次:')
foo()
suchocolate 发表于 2022-12-22 13:35
1) input这种函数,当你输入回车后它就认为是输入结束了,所以这种输入不支持
10回车
100回车
输入一个数 n,你的任务是计算 1 + 2+...+n 的结果.
输入
输入的数据有多行,每行一个整数 n (1 \le n \le 1000)n(1≤n≤1000),以 EOF 表示输入结束。
输出
输出数据同样有多行,每行输出一个整数,该整数的值为 1 + 2 +...+n。
样例
输入
10
100
输出
55
5050
我想做符合这个要求的代码,可能是我出发点错了,旧脚本可能不对,兄弟,帮我看看 爱意随风起9306 发表于 2022-12-22 14:10
输入一个数 n,你的任务是计算 1 + 2+...+n 的结果.
输入
要不你把原题网页或截图发出来吧 suchocolate 发表于 2022-12-22 14:25
要不你把原题网页或截图发出来吧
额,怎么发截图?我刚接触论坛两天 suchocolate 发表于 2022-12-22 14:25
要不你把原题网页或截图发出来吧
https://thumbnail1.baidupcs.com/thumbnail/958e2a606nffe84da763804121124765?fid=1590253992-250528-210973490179222&time=1671688800&rt=yt&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-L5RypR%2BlQC8%2B%2F8evmkPGbxXO9lg%3D&expires=24h&chkv=0&chkbd=0&chkpc=&dp-logid=394886028&dp-callid=0&size=c1463_u915&quality=90&vuk=-&ft=video&autopolicy=1 本帖最后由 lvk 于 2022-12-22 15:35 编辑
每次循环就input一次,但是最后计算的结果先暂时存在list里,等退出循环(遇到了EOF)后再使用for循环打印出来:
sum_list = []
try:
while True:
sum = 0
N = int(input())
for i in range(1, N + 1):
sum = sum + i
sum_list.append(sum)
except EOFError:
pass
for num in sum_list:
print(num) 你的缩进全是问题,给你调整后可以重复使用。
sum=0
none=1
try:
while(none):
N=int(input('请输入任意数字,当输入小于0或大于1000时退出:'))
if N>0 and N<=1000:
none=1
for i in range(1,N+1):
sum=sum+i
print(sum)
else:
none=0
except EOFError:
pass
页:
[1]