我想编写一个程序,使用 while 循环反复提示用户输入数字并将数字加到运行总计中。当输入空行,程序应该打印所有输入数字的平均值。我还想使用break 语句 退出while 循环。
我的错误作业:
y = "\n"
total = 0
k = 0
while True:
x = input("Enter your number here: ")
x = float(x)
total = total + float(x)
k = k + 1
if type(x) != int:
print(total/k)
break
最佳答案
请注意函数 input()
将始终输出一个字符串,因此 type(input()) != int
将始终为真。
尝试使用 try-except
函数,当出现 ValueError(例如无法将空白/字母转换为 float )时,将引发异常并中断循环:
total = 0
k = 0
while True:
x = input("Enter your number here: ")
try:
total += float(x)
k += 1
except ValueError:
if k > 0: #to avoid division by zero
print("Average: ", total/k)
break
输出:
Enter your number here: 3
Enter your number here: 4
Enter your number here: 5
Enter your number here:
Average: 4.0
关于python - 使用 while 循环查找输入数字的平均值并使用 break 语句退出循环的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73172360/