Может ли значение словаря перенаправить в другой словарь в Python? - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь сделать что-то вроде игры в черную комнату, где вам нужно использовать ZQSD для перемещения. Я хочу получить мою переменную, чтобы получить значение словаря, который я только что получил. Имя словаря - это имя комнаты, ключи ZQSD для перемещения и значение новой комнаты. Поэтому я хочу, чтобы это значение новой комнаты, в которой я находился, было новой переменной "place". Как я могу это сделать?

A2 = {"D": "B2"}
B2 = {"D":"C2","Q":"A2","S":"B3"}
C1 = {"S":"C2"}

place = A2
while True:
   x = input().upper()
   if x in place:
       print("you moved to another room")
       place = place[x]
   else:
       print("there is a wall in this direction") 

1 Ответ

0 голосов
/ 18 апреля 2020

Используйте словарь для хранения словарей. {"D": "B2"} не подозревает, что имя A2 ссылается на него.

data = {"A2": {"D": "B2"},
        "B2": {"D": "C2","Q": "A2","S": "B3"},
        "C1": {"S": "C2"}}

starting = data["A2"]
move = "D"
new_place = data[starting[move]]
print(new_place)
# {'D': 'C2', 'Q': 'A2', 'S': 'B3'}

Используйте KeyError s, чтобы понять, отсутствует ли ключ / ход (= стена).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...