python - 使用 while 循环查找输入数字的平均值并使用 break 语句退出循环的程序

标签 python input while-loop variable-assignment break

我想编写一个程序,使用 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/

相关文章:

Python 类变量列表与 int 不一致的行为

c - 使用 scanf 的字符串读取问题

java - Thread.sleep() 不工作。被跳过的操作

c - 将 while 循环转换为 for 循环

python - 我如何将 ljust() 转换应用于字符串列表的每个元素?

java - 提供小型静态图像的最佳方式是什么?

python - 使用 pandas 和 sqldf 没有这样的表错误

C++:对一个空输入使用react与空输入文件

java - Shooter 类型的 getMouseX() 方法未定义

java - 循环剪贴板,仅第一次获取文本