繁体   English   中英

Python:如何在20次循环后停止循环并将结果打印在用户输入的列表上?

[英]Python: How to stop a loop after 20 times and print the results on a user inputted list?

numlist = [] 
maxnumlist = 20
while len(numlist) < maxnumlist:
    item = input("Enter a number: ")
numlist.append(item)
print numlist
print "Here are some stats"
print (numlist)
lowestnum = min(numlist)
highestnum = max(numlist)
total = sum(numlist)
ave = float(sum(numlist)) / len(numlist)
print (lowestnum)
print (highestnum)
print (total)
print (ave)
input("\n\nPress the enter key to exit.")

我需要程序以这种方式运行:用户输入任意数字,分别输入20次(因此,该问题将循环20次),Python将获取所有最近输入的数字,并计算总和,最小值,最大值和平均值。 然后,Python打印/显示这些计算

由于某种原因,无论我尝试什么,我都无法使其正常运行。 我为此花了6天,真是迷失了。 我只是想解决这个问题,所以我可以尝试向它学习,然后继续前进。 我敢打赌,这是一个非常简单的解决方案,但超出了我的范围。

谢谢

您的缩进是错误的numlist.append(item)在while循环之外,因此列表永远不会增长,并且while运行无限次

numlist = [] 
maxnumlist = 20
while len(numlist) < maxnumlist:
    item = input("Enter a number: ")
    # notice this statement is inside while loop
    numlist.append(item)
print numlist
print "Here are some stats"
print (numlist)
lowestnum = min(numlist)
highestnum = max(numlist)
total = sum(numlist)
ave = float(sum(numlist)) / len(numlist)
print (lowestnum)
print (highestnum)
print (total)
print (ave)
input("\n\nPress the enter key to exit.")

没有错误消息很难说,但是我相信您要做的就是缩进numlist.append(item)行。 正如代码现在所读取的那样,用户输入20个数字,但是numlistappend s的最后一个数字,因为numlist.append(item)while循环之外。

如前所述,您缩进了一行

numlist = [] 
maxnumlist = 20
while len(numlist) < maxnumlist:
    item = input("Enter a number: ")
    numlist.append(item)

print numlist
print "Here are some stats"
print (numlist)
lowestnum = min(numlist)
highestnum = max(numlist)
total = sum(numlist)
ave = float(sum(numlist)) / len(numlist)
print (lowestnum)
print (highestnum)
print (total)
print (ave)
input("\n\nPress the enter key to exit.")

结果:

Enter a number: 1
Enter a number: 2
Enter a number: 3
Enter a number: 4
Enter a number: 5
Enter a number: 6
Enter a number: 7
Enter a number: 8
Enter a number: 9
Enter a number: 10
Enter a number: 11
Enter a number: 12
Enter a number: 13
Enter a number: 14
Enter a number: 15
Enter a number: 16
Enter a number: 17
Enter a number: 18
Enter a number: 19
Enter a number: 20
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
Here are some stats
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
1
20
210
10.5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM