компьютер выводит случайный город из списка всех городов
– пользователь пишет название города и нажимает Enter
– программа проверяет существование этого города (что такое город есть в полном списке городов)
– программа проверяет не назывался ли такой город кем-то из игроков
– программа проверяет, что введенный город начинается с той же буквы, на которую заканчивается предыдущий город (не забудьте, существуют буквы с которых не существует названия городов, тогда пользователь вводит город на первую букву предыдущего слова)
Москва
Минск
Мадрид
Милан
Мюнхен
Монреаль
2. Напишем код для игры:
python
import random
# Загрузка списка городов из файла
with open("cities.txt", "r", encoding="utf-8") as file:
cities_list = [city.strip() for city in file]
used_cities = [] # Список уже использованных городов
current_city = random.choice(cities_list) # Начальный город
while True:
print(f"Следующий город: {current_city}")
user_input = input("Введите город: ").strip()
# Проверка на наличие в списке городов
if user_input in cities_list:
if user_input not in used_cities: # Проверка, что город не повторяется
if user_input[0].lower() == current_city[-1].lower() or current_city[-1].lower() in ['ь', 'ы', 'ъ', 'э', 'ё']: # Проверка первой буквы
current_city = user_input
used_cities.append(user_input)
else:
print("Город должен начинаться на последнюю букву предыдущего города!")
else:
print("Этот город уже был назван!")
else:
print("Такого города нет в списке!")
В этом коде мы создаем список городов, выбираем случайный город для начала игры и запускаем цикл. Пользователь вводит город, который проверяется на правильность по следующим критериям: наличие в списке городов, отсутствие в списке уже использованных городов и соответствие первой буквы введенного города последней букве предыдущего города.
Если город соответствует всем требованиям, он становится текущим городом, добавляется в список использованных городов и цикл продолжается. Если условия не выполняются, программа сообщает об ошибке.
Это основной алгоритм для создания игры "Города". Можно расширить его функционал, добавив подсказки и возможно изменение правил игры.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет