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

如何在Python中计算输入数字的平均值?代码报错求助

问题分析与解决

原代码的错误点:

  • 直接将空格分隔的输入字符串转为整数:int(input(...))无法处理包含空格的字符串,这是报错的核心原因,int()只能转换单个纯数字字符串。
  • 变量名不匹配:定义了变量numbers,但计算均值时调用了未定义的grades。
  • 语法错误:input()语句缺少闭合的右括号)。

修正后的代码:

from statistics import mean

# 获取输入并处理成整数列表
input_content = input("Enter some numbers. Separate each number by a space: ")
# 分割字符串、过滤空值、转换为整数
number_list = [int(num.strip()) for num in input_content.split() if num.strip()]
average = mean(number_list)
print(average)

代码说明:

  1. input_content.split():将输入的字符串按空格分割为字符串列表,自动处理多个连续空格、开头/结尾空格的情况。
  2. 列表推导式:遍历分割后的每个字符串,用strip()清除首尾空白,if num.strip()过滤分割后产生的空字符串,再转为整数类型。
  3. 调用mean()计算均值时,使用正确的变量名number_list。

扩展(支持浮点数输入):

如果需要接收小数输入,只需将int改为float:

number_list = [float(num.strip()) for num in input_content.split() if num.strip()]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 11:15:56