2016-01-28 32 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() 
相關問題