【发布时间】:2017-10-14 02:39:30
【问题描述】:
如何解决此错误?
Traceback (most recent call last):
You attacked Magus for 291 points of damage.
File "/Users/bill/Documents/Dev/PycharmProjects/Battle/main.py", line 189, in <module>
spell, magic_dmg = enemy.choose_enemy_spell()
它只是偶尔发生。我不知道为什么它只是有时发生,为什么只有有时这个数据是“NoneType”。
for enemy in enemies:
enemy_choice = random.randrange(0, 2)
if enemy_choice == 0:
target = random.randrange(0, 2)
enemy_dmg = enemies[0].generate_damage()
players[target].take_damage(enemy_dmg)
print(enemy.name.replace(" ", "") + " attacks " + players[target].name.replace(" ", "") + " for", str(enemy_dmg) + ".")
elif enemy_choice == 1:
spell, magic_dmg = enemy.choose_enemy_spell()
enemy.reduce_mp(spell.cost)
if spell.type == "white":
enemy.heal(magic_dmg)
print(bcolors.OKBLUE + spell.name + " heals " + enemy.name.replace(" ", "") + " for", str(magic_dmg), "HP." + bcolors.ENDC)
elif spell.type == "black":
target = random.randrange(0, 2)
players[target].take_damage(magic_dmg)
print(bcolors.OKBLUE + "\n" + enemy.name.replace(" ", "") + "'s " + spell.name + " deals", str(magic_dmg),
"points of damage to " + players[target].name.replace(" ", "") + bcolors.ENDC)
if players[target].get_hp() == 0:
print(players[target].name.replace(" ", "") + " has died.")
del players[player]
【问题讨论】:
-
1.这段代码方式来说明问题。请仅使用minimal reproducible example 2. 在您的问题中发布代码
-
不知道该怎么做/这意味着什么,我正在添加引用的行及其周围的内容。
标签: python python-3.x typeerror nonetype