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

Python计算面积程序报错TypeError: 'int' object is not callable求解决

问题分析与解决

错误原因

你遇到的TypeError: 'int' object is not callable是因为:

  • 循环里写的length(i)*width(i)是错误用法:length和width是你一开始定义的全局int变量(初始值0),你把它们当成函数来调用(加了括号),但int类型根本不支持这种操作,所以触发报错。
  • 调用GetValues()后没有接收它返回的长度和宽度值,等于白调用,代码还是在使用全局的初始0值。
  • 还有两个小问题:GetValues里打印的"Lengt"拼写错误,且函数直接依赖全局循环变量i,耦合性太高,不符合代码规范。

修正后的代码

def get_values(observation_num):
    print(f"Length {observation_num}")
    length = int(input())
    print(f"width(m) {observation_num}")
    width = int(input())
    return length, width

print("How many times")
times = int(input())

for i in range(times):
    # 接收函数返回的当前观测的长度和宽度
    current_length, current_width = get_values(i + 1)
    area = current_length * current_width
    print('The area :', area)

关键修改点

  • 调整函数命名为get_values(符合Python PEP8命名规范),新增observation_num参数传递当前观测次数,避免依赖全局变量。
  • 调用函数时用变量接收返回的两个值,不再使用全局变量。
  • 计算面积时直接用接收的变量相乘,删除错误的函数调用语法。
  • 修正"Lengt"的拼写错误,改用f-string简化打印语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 12:45:43