В настоящее время я пытаюсь создать очень простую программу, в которой пользователю предлагается выбрать путь, и на основе выбранного пути я хочу обновить словарь. Кажется, когда пользователь сначала выбирает path_2b, он идет дальше и печатает «поздравляю с окончанием игры» и прекращает работу, даже если в словарь добавлен только path_2b, когда он должен останавливаться только при наличии обоих путей ... Я просто начинаем изучать веревки Python и программирование в целом, поэтому любая помощь и советы приветствуются!
user_save = {}
def start_button():
def path_2a():
if "path_1" in user_save:
print("You've already taken this path.")
else:
user_save["path_1"] = "completed"
print("Congrats on finishing this path!")
def path_2b():
if "path_2" in user_save:
print("You've alredy taken this path.")
else:
user_save["path_2"] = "Completed"
print("Congrats on finishing this path!")
chosen_path = input("Would you like to choose path 2A or 2B?: ").lower()
if chosen_path == "2a":
path_2a()
elif chosen_path == "2b":
path_2b()
else:
print("Sorry that isn't a valid path. Please try again.")
while ("path_1" and "path_2") not in user_save:
start_button()
if "path_1" and "path_2" in user_save:
print("Congrats on finishing the game!")
Я бы хотел, чтобы цикл продолжал работать до тех пор, пока пользователь не выберет оба пути 1 и 2. Как только оба ключа окажутся в словаре, я хочу напечатать поздравляющее сообщение и разорвать цикл. Как я уже говорил, большая часть кода работает нормально. Если пользователь сначала выбирает path_2a, а затем 2b, циклы делают именно то, что я хочу, даже если они выбирают путь, которого там нет. Это только когда пользователь выбирает path_2b первым. Спасибо за помощь!