首页 > 解决方案 > 如何记住以前循环输入的数字?

问题描述

我想做的是编写一个程序,给定用户输入的实数序列,计算平均值。输入序列应通过输入'end'完成。要输入超过 1 个数字,我尝试:

num=input("Enter the number: ")
while num!="end":
    num = input("Enter the number: ")

但我不希望程序“忘记”第一个“num”,因为稍后我需要使用它来计算平均值。我应该写什么来输入然后使用多个值,而不是特定数量的值?用户应该可以输入值,直到他们输入“结束”。稍后需要使用所有值来计算平均值。有什么建议给我吗?

标签: python

解决方案


首先,定义一个空列表。

numbers = []

然后,在无限循环中询问您的输入。如果输入为"end",则break退出循环。如果没有,append结果input()就是numbers. 请记住将其转换为float第一个!

while True:
    num = input("Enter a number: ")
    if num == "end":
        break
    numbers.append(float(num))

最后,计算平均值:

mean = sum(numbers) / len(numbers)
print("Mean: ", mean)

但是,请注意,计算平均值只需要您知道数字和计数的总和。如果您不关心记住所有数字,则只需跟踪总和即可。

total = 0
count = 0
while True:
    num = input("Enter a number: ")
    if num == "end":
        break
    total += float(num)
    count += 1

print("Mean: ", total / count)

推荐阅读