在我的课堂世界中:
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'
答案 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')