你好,我的学校正在 python 上做一个 RPG 项目,我遇到了一个问题,我定义了自己的函数,需要在另一个函数中调用其中一个函数,但它不起作用。以下代码为例:
from characters1 import *
def printmana(typeofenemy):
print typeofenemy.mana
def printmany(typeofenemy):
print typeofenemy.damage
print typeofenemy.health
option = raw_input("Type something ")
if option == 1:
printmana(typeofenemy)
printmany(Goblin)
当我调用 printmany(Goblin) 时,一切正常,直到我输入 1,我希望它调用 printmana(Goblin) 并打印 Goblin.mana,但它没有。然而,当我单独调用 printmana(Goblin) 时,它工作得很好。我也试过这个:
from characters1 import *
def printmana(typeofenemy):
return (typeofenemy.mana)
def printmany(typeofenemy):
print typeofenemy.damage
print typeofenemy.health
option = raw_input("Type something ")
if option == 1:
print (printmana(typeofenemy))
printmana(Goblin)
我认为我将 printmana 中的打印更改为返回,并在第二个函数中调用 print printmana(Goblin),但当我输入 1 时它仍然不起作用。一定有一些我不知道的东西但了解 python 函数的本质,所以有人可以解释为什么我的示例代码不起作用吗?谢谢!
请您参考如下方法:
您的麻烦在于您正在将 raw_input(字符串)的输出与整数进行比较。尝试以下操作之一:
if option == "1":
...
或
if int(option) == 1:
...
