2016-06-22 46 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

希望这可以帮助您开始!运气好的话,物体在开始时可能会有点棘手。