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

Python向列表录入数据后如何正确计算平均值与极差

代码问题修正

你当前代码存在3个核心错误,按优先级修正如下:

  • 存入列表的输入值是字符串类型,str.isdigit()仅判断字符串内容是否为数字,不会自动转换类型,后续sum()对字符串列表运算会直接报错,需要在追加到列表前转成整型:
    # 原错误写法
    number_list.append(input_number)
    # 修正后
    number_list.append(int(input_number))
    
  • 平均值打印语句中直接用+拼接字符串和数值,Python不支持不同类型直接拼接,把+改成逗号分隔参数即可:
    # 原错误写法
    print("Here is the average:" + sum(number_list) / len(number_list))
    # 修正后
    print("平均值为:", sum(number_list) / len(number_list))
    
  • 极差计算误用了range()内置函数,range()是用来生成整数序列的工具,极差的计算逻辑是最大值减最小值,修正为:
    # 原错误写法
    print("Here is the range:", range(number_list))
    # 修正后
    print("极差为:", max(number_list) - min(number_list))
    

完整可运行中文版本代码

x = 1
number_list = []

while x == 1:
    input_number = input("请输入一个整数:")
    if input_number.isdigit():
        number_list.append(int(input_number))
    else:
        print("请仅输入合法整数。")
    continueornot = input("是否需要继续添加数据?输入'Yes'继续,输入其他内容将退出:")
    if continueornot != 'Yes':
        print("最大值:", max(number_list))
        print("最小值:", min(number_list))
        print("数据总数:", len(number_list))
        print("平均值:", sum(number_list) / len(number_list))
        print("极差:", max(number_list) - min(number_list))
        quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 00:33:03