Я делаю текстовую RPG, и я застрял на ней, по крайней мере, на неделю. Это класс врагов, который я создал, и теперь у меня есть функция, чтобы атаковать.Почему я получаю ошибку типа операнда здесь, когда я использую%?
class enemy:
def __init__(self,name,level,health):
self.name = name
self.level = level
self.health = health
def attack(self):
print "A %r appears! It wants to fight!" % (self.name)
player.weapon = (raw_input("What do you attack with? >>").lower())
while (player.health > 0) or (self.health > 0):
if (player.inventory.get(player.weapon) > 0):
player.health = player.health - ((randint(0,5)) + attack_multiplier(self.level))
print "%r strikes! Your health is down to %r" %(self.name, player.health)
if (player.health > 0) and (self.health > 0):
if weapon_probability() == "critical hit":
self.health -= (((randint(0,5))) + (attack_multiplier(weapon_levels.get(player.weapon))) * 2)
print_slow("Critical Hit!")
elif weapon_probability() == "hit":
self.health -=((((randint(0,5))) + (attack_multiplier(weapon_levels.get(player.weapon)))))
print_slow("Hit!")
elif weapon_probability() == "miss":
print_slow("Miss")
print_slow("Enemy health down to %r !") % self.health
elif player.health <= 0:
print_slow("Your health...it's falling")
break
elif self.health <= 0:
print_slow("Enemy vanquished!")
break
else:
print "You don't have that!"
player.weapon = (raw_input("What do you attack with? >>").lower())
Это ошибка:
File "Central Program.py", line 103, in attack
print_slow("Enemy health down to %d !") % self.health
TypeError: unsupported operand type(s) for %: 'NoneType' and 'int'
Спасибо за помощь, я застрял на этом так долго и ее получение действительно раздражает. Я чувствую, что решение будет простым, но я не знаю, что делать