You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为使用input的平均值计算器添加for/while循环实现多输入提示

问题根源

原有代码存在两处明显问题:

  • 执行float(prompt)类型转换时未保存转换结果,追加到列表的仍然是字符串类型,执行sum()计算时会直接报错
  • 之前尝试while循环未触发输入,大概率是循环初始条件设置错误,你原有代码里定义的max_length_list = len(a_list)初始值为0,如果循环判断条件设置为长度小于该值,循环从一开始就不满足执行要求,自然不会弹出输入框

改造后支持任意数量输入的循环版本

这里提供两种常用实现方案:

方案1:先指定要输入的数字总数,自动循环收集

a_list = []
# 先指定要计算平均值的数字总个数
count = int(input("请输入要统计的数字总个数:\n"))
for i in range(count):
    prompt = input(f"请输入第{i+1}个数字:\n")
    # 保存转换后的浮点型数值到列表
    num = float(prompt)
    a_list.append(num)
average = sum(a_list) / len(a_list)
print(f"平均值为:{average}")

方案2:无固定数量,用户输入终止标记(比如q)时结束输入

a_list = []
print("请逐个输入数字,输入q结束输入:")
while True:
    prompt = input("请输入数字:\n")
    if prompt.strip().lower() == 'q':
        break
    try:
        num = float(prompt)
        a_list.append(num)
    except ValueError:
        print("输入格式错误,请输入有效数字或者q退出")

# 增加空列表判断避免除以0报错
if a_list:
    average = sum(a_list) / len(a_list)
    print(f"平均值为:{average}")
else:
    print("未输入任何有效数字,无法计算平均值")

内容的提问来源于stack exchange,提问作者sebbspirit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:18:03