2016-01-28 34 views
-1

我为我令人困惑的问题提前道歉。 我正在尝试为学校编写一个简单的基于文本的RPG,并且我没有事先了解Python或如何编写代码就进入了这个领域。所以在经过许多YouTube视频和教程之后,我获得了很好的基础理解。所以我想要的一件事就是让角色在开始后有一个名字。所以要做到这一点我做了这个如何在Python中的函数外部创建变量

def character_namer(): 
    character_name = raw_input("please enter your name: ") 

的问题是,现在我变“character_name”只能使用def character_namer环路内使用。如何在代表'character_name'的循环之外创建一个变量,以便在任何时候只要输入'character_name'就可以说出字符名称。谢谢。

+0

您必须从该函数返回该值。但是对于一个函数来说,这是一个简单的用法,你可以自己调用'raw_input' –

回答

3

只返回值

def character_namer(): 
    return raw_input("please enter your name: ") 

character_name = character_namer() 

print character_name 
0

要么像保罗鲁尼提出的函数中返回的值,如果你在里面空闲或Python外壳简单地做:

character_name = raw_input('please enter your name: ') 
0

我d说跟踪一个班的游戏状态是很好的做法。当然,这可能比“只是”字符名称稍微高一点,但它会更容易扩展和维护。

class Game(object): 

    def __init__(self): 
    self.character_name = None 
    # eventually other important values 

    def ask_name(self): 
    self.character_name = raw_input('please enter your name: ') 

    def play(self): 
    self.ask_name() 
    print('Hello,' self.character_name) 
    # etc ... 


game = Game() 
game.play() 
相关问题