Skip to main content
 首页 » 编程设计

Python 定义的函数不能正常工作

2025年05月04日10kenshinobiy

你好,我的学校正在 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: 
    ...