комп выводит случ. город из списка всех городов
юзер пишет назв. города
прога проверяет сущ-ние его
прога проверяет не назывался ли такой город юзером
прога проверяет, что введенный город нач-тся с той же буквы, на кот. зак-тся предыдущ. город (сущ. буквы с кот-х не сущ. назв. городов, тогда юзер вводит город на 1-ую букву предыдущ. слова)
если такого города не сущ-ет или такой город уже называли, то юзеру предлагает. повт. попытку ввода
если юзер сделал 5 неудач. попыток ввода, то он проиграл
если введен. юзером город валиден, то ход за комп-ом
комп. из сущ-его списка городов находит назв. города, начинающ. с посл. буквы предыдущ. города
python
города = ['Москва', 'Санкт-Петербург', 'Новосибирск', 'Екатеринбург', 'Нижний Новгород', 'Казань', 'Челябинск', 'Омск', 'Самара', 'Ростов-на-Дону', 'Уфа', 'Красноярск', 'Пермь', 'Воронеж', 'Волгоград', 'Краснодар', 'Саратов', 'Тюмень', 'Тольятти', 'Ижевск', 'Барнаул', 'Ульяновск', 'Иркутск', 'Хабаровск', 'Ярославль', 'Владивосток', 'Махачкала']
Теперь напишем основную часть программы, которая будет взаимодействовать с пользователем и осуществлять проверки:
python
import random
города = ['Москва', 'Санкт-Петербург', 'Новосибирск', 'Екатеринбург', 'Нижний Новгород', 'Казань', 'Челябинск', 'Омск', 'Самара', 'Ростов-на-Дону', 'Уфа', 'Красноярск', 'Пермь', 'Воронеж', 'Волгоград', 'Краснодар', 'Саратов', 'Тюмень', 'Тольятти', 'Ижевск', 'Барнаул', 'Ульяновск', 'Иркутск', 'Хабаровск', 'Ярославль', 'Владивосток', 'Махачкала']
def проверка_города(город):
город = город.capitalize()
if город in города:
return True
return False
def проверка_повтора(город, использованные_города):
if город in использованные_города:
return True
return False
def проверка_букв(предыдущий_город, текущий_город):
if предыдущий_город[-1].lower() == текущий_город[0].lower():
return True
return False
def выбор_случайного_города():
return random.choice(города)
использованные_города = []
неудачные_попытки = 0
предыдущий_город = выбор_случайного_города()
print(f"Первый город: {предыдущий_город}")
while True:
город = input("Введите название города: ")
if неудачные_попытки == 5:
print("Вы проиграли! Слишком много неудачных попыток.")
break
if not проверка_города(город):
print("Такого города нет.")
continue
if проверка_повтора(город, использованные_города):
print("Этот город уже был назван. Попробуйте другой.")
continue
if not проверка_букв(предыдущий_город, город):
print(f"Название города должно начинаться на букву '{предыдущий_город[-1]}'")
continue
использованные_города.append(город)
предыдущий_город = город
print(f"Ваш ход: {город}")
возможные_города = [г for г in города if г[0].lower() == предыдущий_город[-1].lower() and г not in использованные_города]
if возможные_города:
компьютер_город = random.choice(возможные_города)
использованные_города.append(компьютер_город)
предыдущий_город = компьютер_город
print(f"Ход компьютера: {компьютер_город}")
else:
print("Извините, компьютер не смог найти подходящий город. Вы выиграли!")
break
Этот код создает базовую структуру игры в "Города". Программа выбирает случайный город, осуществляет взаимодействие с пользователем, проверяет введенные данные и определяет, когда игра заканчивается. Вы можете дополнить игру дополнительными городами или условиями, если необходимо.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет