我的班级说它没有功能。蟒蛇

时间:2019-02-24 00:45:26

标签: python python-3.x class

在我的课堂世界中:

class world:
    def __init__(self):
        if self != 'start_room':
            pass
        else: 
            self.isenemy = random.choice([True, False])
            if isenmey == False:
                self.istrap = random.choice([True, False])

        def enter_room(self):
            if self.isenemy:
                fight()
            elif self.istrap:
                trap()
            else:
                print('The room is empty')

当我运行这段代码时:

rooms[current_room].enter_room()

我看到一条错误消息:

  

“世界”对象没有属性“ enter_room”

我是Stackoverflow,Python,PEP8的新手,甚至是python类的新手,所以对我来说很容易。

编辑: 我已经解决了旧问题,现在出现了错误:

  

'world'对象没有属性'isenemy'

2 个答案:

答案 0 :(得分:1)

您放入了意外的缩进。您的函数enter_room()__init()__内部定义。你去了:

class world:
    def __init__(self):
        if self != 'start_room':
            pass
        else: 
            self.isenemy = random.choice([True, False])
            if isenmey == False:
                self.istrap = random.choice([True, False])

    def enter_room(self):
        if self.isenemy:
            fight()
        elif self.istrap:
            trap()
        else:
            print('The room is empty')

答案 1 :(得分:1)

首先,您在第七行输入错字。将def enter_room与def init

对齐
class world:
    def __init__(self):
        if self != 'start_room':
            pass
        else: 
            self.isenemy = random.choice([True, False])
            if isenmey == False:
                self.istrap = random.choice([True, False])

    def enter_room(self):
        if self.isenemy:
            fight()
        elif self.istrap:
            trap()
        else:
            print('The room is empty')