компьютер выводит случайный город из списка всех городов
пользователь пишет название города и нажимает Enter
программа проверяет существование этого города (что такое город есть в полном списке городов)
программа проверяет не назывался ли такой город кем-то из игроков
программа проверяет, что введенный город начинается с той же буквы, на которую заканчивается предыдущий город (не забудьте, существуют буквы с которых не существует названия городов, тогда пользователь вводит город на первую букву предыдущего слова)
если такого города не существует или такой город уже назывался, то пользователю предлагается повторить попытку ввод
python
import random
# Список всех городов
cities = ['Москва', 'Санкт-Петербург', 'Новосибирск', 'Екатеринбург', 'Красноярск', 'Владивосток', 'Сочи', 'Казань', 'Волгоград', 'Омск']
# Словарь для хранения уже использованных городов
used_cities = {}
def get_random_city():
return random.choice(cities)
def check_city(city):
if city in cities:
if city not in used_cities:
return True
else:
print('Этот город уже был назван, попробуйте другой')
else:
print('Такого города нет в списке, попробуйте еще раз')
return False
def check_first_letter(city1, city2):
return city1[-1].lower() == city2[0].lower()
def play_game():
current_city = get_random_city()
print(f'Начальный город: {current_city}')
while True:
user_city = input('Введите название города: ')
if check_city(user_city):
if not used_cities:
used_cities[user_city] = True
else:
if check_first_letter(current_city, user_city):
used_cities[user_city] = True
else:
print('Город должен начинаться с той же буквы, на которую заканчивается предыдущий')
continue
current_city = user_city
print(f'Ваш ход: {current_city}')
else:
continue
play_game()
В данном коде сначала создаются список всех городов и словарь для хранения использованных городов. Затем объявляются функции для выбора случайного города, проверки существования города в списке, проверки совпадения первой и последней буквы между городами, а также для самой игры.
В функции `play_game()` выбирается начальный город, затем пользователь вводит название города. Каждый введенный город проверяется на существование и уникальность, а также на совпадение первой и последней буквы с предыдущим городом. Если все проверки пройдены успешно, игра продолжается. Если пользователь вводит город, который не удовлетворяет хотя бы одному из условий, ему предлагается повторить ввод.
Вы можете запустить этот код на своем компьютере и насладиться игрой в "Города"!Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет