Python中文
首页
教程
问答
标签
搜索
登录
注册
如何修复Python中的“TypeError”?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我对Python完全陌生,几天前才开始学习,我试图编写一个简单的RPG代码,但最近遇到了一个小问题,它不断返回我TypeError:generate_damage()缺少1个必需的位置参数:“self”。有人知道发生了什么事吗</p> <p><strong>Main.py</strong></p> <pre><code>from Classes.game import player, bcolors magic = [{"name": "Tackle", "cost": 1, "dmg": 4}, {"name": "Ember", "cost": 3, "dmg": 6}, {"name": "Leech", "cost": 4, "hp": +5, "dmg": 4}, {"name": "Explosion", "cost": 5, "hp": -10, "dmg": 30}] player(100, 20, 5, 10,magic) print(player.generate_damage()) </code></pre> <p><strong>Game.py</strong></p> <pre><code>import random class bcolors: HEADER = '\033[95m' OKBLUE = '\033[94m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' BOLD = '\033[1m' UNDERLINE = '\033[4m' class player: def __init__(self, hp, mp, atk, df, mag): self.maxhp = hp self.hp = hp self.maxmp = mp self.mp = mp self.atkw = atk - 10 self.atks = atk + 10 self.df = df self.mag = mag self.actions = ["Attack", "Magic"] def generate_damage(self): return random.randrange(self.atkw, self.atks) </code></pre> <p>我在以下方面有问题:</p> <pre><code>print(player.generate_damage()) </code></pre> <p>由于它不断返回TypeError:generate_damage()缺少1个必需的位置参数:“self”</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>因为<code>generate_damage</code>是类<code>Player</code>的方法,所以只能在播放器实例上运行它。 试试这个:</p> <pre><code>p = Player(100, 20, 5, 10, magic) # init object p of class player print(p.generate_damage()) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何合并多个PDF文件?
2 回答
如何合并多个xarray数据变量及其坐标?
10 回答
如何合并多个列中具有重复值的行
9 回答
如何合并多个唯一id
5 回答
如何合并多个图纸并使用图纸名称的名称重命名列名?
6 回答
如何合并多个字典并添加同一个键的值?(Python)
4 回答
如何合并多个搜索结果文件(pkl)以将它们全部打印在一起?
7 回答
如何合并多个数据帧
5 回答
如何合并多个数据帧并使用Pandas为假人添加列?
10 回答
如何合并多个数据帧并按时间戳排序
5 回答
如何合并多个数据帧的列表并用另一个lis标记每列
1 回答
如何合并多个数据框中的列
9 回答
如何合并多个文件?
2 回答
如何合并多个查询集?
1 回答
如何合并多个绘图?
3 回答
如何合并多个词典
3 回答
如何合并多个输入数据集(数据帧)?
9 回答
如何合并多条记录中拆分的文本行
5 回答
如何合并多索引列datafram
9 回答
如何合并多级(即多索引)数据帧?
5 回答