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

使用append函数收集用户输入数字时首项未被添加的问题求助

问题分析与修复方案

问题根源

  1. 第一个输入数字丢失:你在进入while循环前已经获取了第一个number值,但循环内部直接重新输入并覆盖了这个初始值,完全没有把第一个输入的数字添加到list_number中。
  2. 无效值混入列表:退出时输入的-1被错误地添加到了列表里,会导致平均值计算结果失真。

修复后的代码方案(更简洁的实现)

list_number = []  

while True:
    number = float(input("Please enter any number (enter (-1) when done): "))
    if number == -1:
        print("You have exited the loop")
        break
    list_number.append(number)

print(list_number)
if not list_number:
    print("No numbers entered, cannot calculate average.")
else:
    total_num = sum(list_number)
    num_entries = len(list_number)
    average = total_num / num_entries
    print("Average: ", average)

核心修改说明

  • 改用while True循环结构,每次先获取用户输入,直接判断是否为退出指令-1:是则终止循环,否则将有效数字加入列表,彻底避免了初始输入丢失的问题。
  • 新增空列表判断逻辑,防止用户直接输入-1时出现除以0的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 23:02:09