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

Python函数报错求助:用for loop输入8个值返回均值、最值遇问题

输入8个数值计算均值、最值的函数错误排查

我尝试定义一个函数,通过for循环输入8个不同数值,返回输入值的平均值、最小值和最大值,但遇到了问题。

最初尝试的代码

def x(u):
      for i in range(8):
        c=float(input())
      y=0
      values=[]
      values.append(c)
      avg=(y+c)/8
      return avg, ("The maximum is {:.0f}".format(max(values))),("The minimum is {:.0f}".format(min(values)))
      print(x(1))

最初代码的问题

  • 循环内每次输入的c会被覆盖,最后仅将最后一个输入值加入values列表,导致均值、最值计算仅基于单个数值,不符合需求
  • 函数定义了参数u但未使用,属于冗余参数
  • print(x(1))写在return语句之后,永远不会被执行

修改后的代码及报错

按照建议修改代码后,出现TypeError: 'int' object is not callable错误:

修改后的代码

def function():
  values = []
  for i in range(8):  
      x=(float(input()))
      values.append(x)
  mean = float(sum(values)/len(values))
  return mean, max(values), min(values)
    
 print(function())

报错信息

TypeError      Traceback (most recent call last)
<ipython-input-245-dbc2112cdcc7> in <module>
      8   return mean, max(values), min(values)
      9 
---> 10 print(function())

<ipython-input-245-dbc2112cdcc7> in function()
      5       x=(float(input()))
      6       values.append(x)
----> 7   mean = float(sum(values)/len(values))
      8   return mean, max(values), min(values)
      9 

TypeError: 'int' object is not callable

错误原因及解决方法

这个错误是因为你在当前函数之外的代码中,把sum或len这类内置函数名当成了整数变量使用,比如写过sum = 10或len = 5这类语句。这会覆盖原本的内置函数,导致调用sum(values)时,Python认为sum是一个整数而非求和函数,因此触发报错。

解决步骤

  1. 检查整个代码文件,找到所有用sum、len、max、min作为变量名的地方,将这些变量名替换为其他名称(比如total_sum、list_length)
  2. 确保不会覆盖任何Python内置函数名

修正后的可运行代码

def calculate_stats():
    values = []
    for _ in range(8):
        num = float(input("请输入一个数值:"))
        values.append(num)
    mean = sum(values) / len(values)
    return mean, max(values), min(values)

# 调用函数并格式化输出结果
avg, max_val, min_val = calculate_stats()
print(f"平均值:{avg},最大值:{max_val},最小值:{min_val}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:01:08