2016-06-22 94 views
0

好吧,所以我想從一本教你學習python,告訴你如何製作一個基於文本的冒險遊戲。唯一的問題是,我使用python 2.7,而且這本書是用python 3編寫的。到目前爲止,我已經能夠獲得這些代碼,但是我對這個代碼存在問題。從python 3更改類到python 2.7

class Person : 
    age = 15 
    name = "Rolf" 
    favorite_foods = ["beets", "Turnips", "Weisswurst"] 

    def birth_year() : 
     return 2015 - age 

我不希望你來解決它,我只是想讓你告訴我什麼關於這一點,我必須改變,以獲得不同的它與2.7工作,所以我可以自己修復。

+2

我強烈建議升級到3.X或找到2.7教程。試圖用一個人去學習另一個會導致很多痛苦和挫敗,而沒有多少回報。 – Kevin

+3

該代碼不適用於任何版本的python,它將需要'返回2015 - Person.age' –

+9

如果本書告訴您將類名稱和年齡作爲類變量存儲,請將其扔出並找到真正的書。 – jwodder

回答

0

雖然我同意上面的評論,這本書似乎非常值得懷疑,但我可以提供一些關於如何前進的提示。

  1. 請記住,類是故意動態的,常量變量很好,但在__init__():函數中進行初始化。
  2. 對象函數需要傳遞給它們的對象,類函數需要傳遞給它們的類。 This是關於如何在類中使用函數的絕佳資源。 def birth_year(self):是一個開始的好地方
  3. 最後,變量只在其範圍內定義。長話短說,你無法在班級之外罰款age。使用點運算符來表示某件事物在特定範圍內。在上下文中,假設您已經計算出建議2,請嘗試self.age

希望這可以幫助您開始!運氣好的話,物體在開始時可能會有點棘手。