Как я могу получить неверное сообщение для печати?

#python

Вопрос:

Я создаю текстовую игру для задания, в которой вы перемещаетесь из комнаты в комнату. До сих пор мой код работал, однако у меня возникли проблемы с получением всплывающего сообщения, если перемещение недопустимо. Может ли кто-нибудь направить меня в правильном направлении? Я знаю о печати в конце кода. Это сообщение, которое мне нужно, всплывает, если перемещение недопустимо … надеюсь, это имеет смысл. Я очень новичок в кодировании.

 rooms = {
        'Great Hall': {'South': 'Bedroom'},
        'Bedroom': {'North': 'Great Hall', 'East': 'Cellar'},
        'Cellar': {'West': 'Bedroom'}
    }   # List of rooms

startingbiome = 'Great Hall'  # starting room

currentbiome = startingbiome

while True:

    print('You are in the', currentbiome)  # tells user their current location

    swim = input('Which direction would you like to go? Or would you like to exit?')
    if swim == 'Exit':
        break
    if swim:
        currentbiome = rooms[currentbiome][swim]
    
    
        print('You cant go that way! Please choose a new way to swim!')
 

Комментарии:

1. Разве ты не можешь просто добавить else после последнего if ?

2. Я пытался это сделать. Я, вероятно, делал это неправильно, поэтому это не будет работать правильно.

Ответ №1:

Используйте in оператор для проверки того, является ли вводимый код ключом словаря.

 if swim.lower() == 'exit':
    break
if swim in rooms[currentbiome]:
    currentbiome = rooms[currentbiome][room]
else:
    print("You can't go that way!")
 

Комментарии:

1. Это сработало! Спасибо! Я приму ответ, как только он мне позволит!