Я на следующий коде:Я не понимаю поведение кода
from random import randint
from medical_room import *
from Library import *
from basement import *
from End import *
class start_Game(object):
def __init__(self):
print "You landed on planet and see three rooms."
print "You approach and see that you need to enter password..."
self.door=raw_input("Pick number of door>>>")
self.password=('%d')%(randint(1,9))
self.entered_password=int(raw_input("Enter password of one digit>>>"))
self.ROOMs={'1':Medical_room,'2':Library,'3':basement,'4':End}
while True:
# break
room=self.ROOMs[self.door]
# print room()
self.door=room()
a=start_Game()
На вопрос о количестве дверей я выбираю «1» и класс Medical_room
запущен (код класса ниже):
class Medical_room(object):
def __init__(self):
self.play()
def play(self):
print "Medical_room plays"
return '2'
Но я не могу переключиться на Library
класс, так как ошибки получим:
room=self.ROOMs[self.door]
KeyError: <medical_room.Medical_room object at 0x0000000002906978>
для меня все хорошо, но Python не любит мою «великую логику». Пожалуйста помоги.
Python - это не Java. Тебе не нужно обучать все в класс. В частности, если класс не имеет других методов, кроме '__init__', его можно, скорее всего, определить как функцию. – chepner
Пожалуйста, избавитесь от этих * -импорт. Вы загромождаете свое пространство имен. – Matthias