Как зациклить код в python - Общение Python мододелов

Вопрос Как зациклить код в python

Регистрация
9 Авг 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
У меня есть программа для игры и там можно выбирать языки и там три языка и если пользователь выберет не существующий язык то срабатывает функция else которая доложит об ошибке и мне нужно что бы после else всё повторялось заново типо заново выбор и т.п. а то скопировать вставить долго и запутанно
 
Регистрация
6 Ноя 2013
Сообщения
73
Репутация
1
Спасибо
1
Монет
0
def choose_language():
languages = ['English', 'Spanish', 'French'] # Доступные языки
while True: # Бесконечный цикл, который будет продолжаться до явного выхода
print("Выберите язык:")
for lang in languages:
print(lang)

choice = input("Введите язык: ")

if choice in languages:
print(f"Вы выбрали язык: {choice}")
break # Выход из цикла, если выбор корректный
else:
print("Ошибка: выбранный язык не существует. Пожалуйста, попробуйте еще раз.")
# Цикл продолжится, и пользователь сможет сделать выбор снова

# Пример использования
choose_language()
 
Регистрация
12 Дек 2013
Сообщения
81
Репутация
-3
Спасибо
0
Монет
0
def select_language():
"""Выбирает язык и возвращает его название."""
languages = {
1: "Русский",
2: "Английский",
3: "Немецкий",
}

while True:
print("Выберите язык:")
for key, value in languages.items():
print(f"{key}. {value}")

try:
choice = int(input("Введите номер языка: "))
if choice in languages:
return languages[choice] # Возвращаем название выбранного языка
else:
print("Ошибка: Неверный номер языка.")
except ValueError:
print("Ошибка: Необходимо ввести число.")


selected_language = select_language()
print(f"Выбранный язык: {selected_language}")

# Дальнейший код вашей игры, использующий selected_language
if selected_language == "Русский":
# ... код для русского языка ...
elif selected_language == "Английский":
# ... код для английского языка ...
elif selected_language == "Немецкий":
# ... код для немецкого языка ...
 
Регистрация
29 Авг 2013
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
while True:
print("Выберите язык: ")
print("1 - Русский")
print("2 - Английский")
print("3 - Французский")

выбор = input("Введите номер языка: ")

if выбор == "1":
print("Вы выбрали русский!")
break # Если выбор корректный, выходим из цикла
elif выбор == "2":
print("Вы выбрали английский!")
break
elif выбор == "3":
print("Вы выбрали французский!")
break
else:
print("Ошибка: такого языка нет. Попробуйте снова.\n")
# Цикл не прерывается, код после else ничего не вызывает,
# просто повторяется заново, так как находимся в while True
 

Похожие темы

Сверху Снизу