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

Python编写n体问题代码报错AttributeError: 'int'对象无append属性如何解决

问题根因

你的代码存在变量名冲突的低级错误:

  • 第一行你将Bodies赋值为整数25,而append()是Python列表对象的专属方法,整数类型不存在该方法,因此调用时直接报错
  • 后续循环中range(0, Bodies)的参数要求是整数,如果你后续把Bodies改成列表,这一步也会触发参数类型错误

修正方案

把「天体总数量」和「存储天体对象的列表」拆分成两个不同命名的变量即可,参考修改后的代码:

import random

# 定义天体总数量的整数变量
body_count = 25
# 初始化存储天体对象的空列表
Bodies = []

# 添加初始天体
Bodies.append(Body(1000, 350, 350, [0,0]))

# 循环生成剩余天体,用body_count作为循环次数上限
for i in range(0, body_count):
    Bodies.append(Body(
        random.randrange(10, 500),
        random.randrange(50, 650),
        random.randrange(50, 650),
        [(random.randrange(-10,10)/20), (random.randrange(-10,10)/20)]
    ))

补充说明

如果不需要保留最开始单独添加的那个天体,直接调整循环次数生成对应数量的天体即可,可根据你n体问题的实际需求调整参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:06:03