在我的代码中,虽然有一个'melee_strengths‘属性,但我得到了这个错误。我已经重新缩进了这个,并且在没有'melee‘和'strengths’之间的'_‘的情况下尝试了这个,但是仍然得到了这个错误。我还用xyz替换了melee_strengths,看看这是否是我的输入错误,但仍然得到了错误。我不知道如何解决这个问题。你能帮帮忙吗?
class Enemy(Character):
def __int__(self,char_name,char_desc):
super().__int__(char_name,char_desc)
self.hit_points = 0
self.melee_strengths = {
'Normal damage': None,
'Piercing damage': None,
'Bludgoning damage': None}
self.special_strengths = {
'Acid damage': None,
'Cold damage': None,
'Heat damage': None,
'Holy damage': None,
'Undead damage': None}
def set_melee_strength(self, norm_str, pierce_str, bludge_str):
self.melee_strengths['Normal damage'] = norm_str
self.melee_strengths['Piercing damage'] = pierce_str
self.melee_strengths['Bludgoning damage'] = bludge_str错误消息为:
Traceback (most recent call last):
File "C:/Users/xxxx/Desktop/Object oriented programing/Week2/my_rooms.py", line 34, in <module>
dave.set_melee_strength('neutral', 'resistant', 'weak')
File "C:/Users/xxxx/Desktop/Object oriented programing/Week2\character.py", line 52, in set_melee_strength
self.melee_strengths['Normal damage'] = norm_str
AttributeError: 'Enemy' object has no attribute 'melee_strengths'编辑:我使用Enemy类的代码是:
dave = Enemy("Dave","A smelly zombie")
dave.describe()
dave.set_conversation('Be prepared to face my wrath')
dave.set_hit_points(50)
dave.set_melee_strength('neutral', 'resistant', 'weak')
dave.set_special_strength('neutral','neutral','neutral','weak','resistant')
dave.get_melee_strengths()
dave.get_special_strengths()发布于 2020-04-28 20:51:39
您的init函数名中有一个Typo。初始化函数应该是__init__而不是__int__.
https://stackoverflow.com/questions/61480481
复制相似问题