# программа проверяет, что введенный город начинается с той же буквы, на которую заканчивается предыдущий город (не забудьте,
# существуют буквы с которых не существует названия городов, тогда пользователь вводит город на первую букву предыдущего слова)
# если такого города не существует или такой город уже назывался, то пользователю предлагается повторить попытку ввода
# если пользователь сделал 5 неудачных попыток ввода, то считается, что он проиграл
# если введенный пользователем город валиден, то ход за компьютером
python
cities = {
'а': ['амстердам', 'архангельск', 'астрахань'],
'б': ['барнаул', 'берлин', 'брюссель'],
'в': ['варшава', 'владивосток', 'воронеж'],
# Для остальных букв алфавита добавить список городов
}
def main():
player = 1 # Игрок: 1 - пользователь, 2 - компьютер
prev_city = None # Предыдущий названный город
incorrect_attempts = 0 # Счетчик некорректных попыток ввода
while incorrect_attempts < 5:
if player == 1:
if prev_city:
start_letter = prev_city[-1].lower()
else:
start_letter = input("Введите город на латинице: ")[0].lower()
user_city = input(f"Введите город на букву '{start_letter}': ").lower()
if user_city not in cities.get(start_letter, []) or user_city == prev_city:
print("Некорректный город. Повторите попытку.")
incorrect_attempts += 1
continue
prev_city = user_city
player = 2
elif player == 2:
computer_letter = prev_city[-1].lower()
# Поиск города для компьютера
computer_city = ""
for city in cities.get(computer_letter, []):
if city != prev_city:
computer_city = city
break
if not computer_city: # Если не удалось найти город
print("Компьютер не может найти подходящий город. Вы победили!")
break
print(f"Компьютер: {computer_city}")
prev_city = computer_city
player = 1
if incorrect_attempts == 5:
print("Вы проиграли. Попробуйте еще раз.")
Этот код реализует игру "Города" между пользователем и компьютером. Пользователь вводит название города на первую букву нового города или первого города (при начале игры), а затем компьютер отвечает городом, начинающимся на последнюю букву предыдущего города. Игра продолжается до тех пор, пока не будет достигнуто ограничение по числу некорректных попыток.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет