– если такого города не существует или такой город уже назывался, то пользователю предлагается повторить попытку ввода
– если пользователь сделал 5 неудачных попыток ввода, то считается, что он проиграл
– если введенный пользователем город валиден, то ход за компьютером
– компьютер из существующего списка городов находит название города, начинающегося с последней буквы предыдущего города (если города с такой буквы не существует, то находится город, начинающийся с первой буквы предыдущего города)
– если компьютер не смог найти подходящий город, то пользователь выигрывает.
python
cities = ["Москва", "Санкт-Петербург", "Новосибирск", "Екатеринбург",
"Нижний Новгород", "Казань", "Челябинск", "Омск",
"Самара", "Ростов-на-Дону", "Уфа", "Красноярск"]
def check_city(city):
if city in cities:
return True
else:
return False
2. Создадим функцию, которая будет осуществлять ход пользователя:
python
def user_turn():
attempts = 0
while attempts < 5:
user_city = input("Ваш ход: ")
if not check_city(user_city):
print("Такого города нет в списке или он уже был назван. Попробуйте снова.")
attempts += 1
else:
return user_city
print("Вы проиграли.")
return None
3. Создадим функцию для хода компьютера:
python
def computer_turn(prev_city):
last_letter = prev_city[-1].lower()
for city in cities:
if city[0].lower() == last_letter and city != prev_city:
print("Ход компьютера:", city)
cities.remove(city)
return city
print("Компьютер не смог найти подходящий город. Вы выиграли!")
return None
4. Создадим основной игровой цикл:
python
def game():
prev_city = None
while True:
user_city = user_turn()
if user_city is None:
break
prev_city = user_city
comp_city = computer_turn(prev_city)
if comp_city is None:
break
prev_city = comp_city
print("Игра окончена.")
game()
Теперь игра будет работать следующим образом:
- Пользователь вводит название города: если город валиден, компьютер делает ход, иначе пользователю предлагается ввести город снова.
- Если компьютер не может найти подходящий город, игрок выигрывает.
- Если пользователь сделал 5 неудачных попыток ввода, он проигрывает.
Вы можете использовать этот код и расширить список городов или внести другие изменения по вашему усмотрению.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет