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

如何在Python循环中记录所有输入值,输入end终止后计算实数序列平均值

实现思路
  • 新增一个空列表作为数值存储容器,Python列表支持动态新增元素,不用提前限定输入长度,所有合法输入的数值都会被留存到该列表中供后续计算使用。
  • 输入校验增加异常捕获逻辑,兼容用户输入非数字、非end的非法内容场景,避免程序直接崩溃。
  • 平均值计算前先判断存储列表是否为空,规避用户未输入任何数值就输入end导致的除以0报错。
完整实现代码
# 初始化存储数值的列表
num_list = []

while True:
    input_content = input("Enter the number: ")
    # 输入为end时终止输入流程
    if input_content == "end":
        break
    # 尝试将输入转换为实数,处理非法输入
    try:
        num = float(input_content)
        num_list.append(num)
    except ValueError:
        print("输入非法,请输入实数或者end")

# 计算平均值
if num_list:
    average = sum(num_list) / len(num_list)
    print(f"输入序列的平均值为: {average:.2f}")
else:
    print("未输入任何有效数值,无法计算平均值")
可选优化方案

如果不需要回溯历史输入值,仅需要计算平均值,也可以用两个变量分别累计数值总和、有效输入个数,无需维护列表,内存占用更低,适合超大输入量的场景:

total = 0
count = 0
while True:
    input_content = input("Enter the number: ")
    if input_content == "end":
        break
    try:
        num = float(input_content)
        total += num
        count += 1
    except ValueError:
        print("输入非法,请输入实数或者end")

if count > 0:
    average = total / count
    print(f"输入序列的平均值为: {average:.2f}")
else:
    print("未输入任何有效数值,无法计算平均值")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:15:06