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

2024-09-29 22:28:35 发布

您现在位置:Python中文网/ 问答频道 /正文

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天的时间在这上面,我真的很迷茫。我只想结束这一切,这样我就可以试着从中吸取教训,最终继续前进。我打赌这是一个超级简单的解决办法,但它是超越我。你知道吗

谢谢


Tags: numberinputlen数字itemtotalsumprint
3条回答

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

你的缩进是错误的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 = [] 
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

相关问题 更多 >

    热门问题