# В файле cities.txt должны хранится названия городов, город на строчку
cities = ""
with open("cities.txt") as file:
cities = file.read().split("\n")
turn = 1
latest = ""
score1, score 2 = 0, 0
while True:
print(f"Ходит игрок {turn}")
if latest:
print("Последний город - {latest}. Вам на {latest[-1]}")
city = input("Введите название города: ")
if not city:
break
if city in cities and (not latest or city[0] == latest[-1]):
latest = city
print("Верно!")
if turn == 1:
score1 += 1
else:
score2 += 1
turn = 2 if turn == 1 else 1
elif city not in cities
print("Нет такого города!")
elif city[0] != latest[-1]:
print("Не на ту букву!")
print(f"Счёт первого игрока: {score1} городов.")
print(f"Счёт второго игрока: {score2} городов.")
Он, кстати, может и не работать. Я его прямо сейчас на ответах писал с телефона, проверить не могу. import random
def get_cities(filename="cities.txt"):
"""Загружает список городов из файла."""
with open(filename, "r", encoding="utf-8") as f:
return [city.strip().lower() for city in f]
def get_user_city(previous_city, cities):
"""Получает ввод города от пользователя."""
while True:
user_city = input(f"Ваш ход ({previous_city[-1].upper()}): ").lower()
if user_city.startswith(previous_city[-1]) and user_city in cities:
return user_city
elif user_city not in cities:
print("Такого города нет в списке.")
else:
print(f"Город должен начинаться на '{previous_city[-1].upper()}'.")
def get_computer_city(previous_city, cities):
"""Выбирает город для компьютера."""
possible_cities = [city for city in cities if city.startswith(previous_city[-1])]
if possible_cities:
return random.choice(possible_cities)
else:
return None
def play_game(cities):
"""Основная логика игры."""
used_cities = []
current_city = random.choice(cities)
print(f"Я начинаю: {current_city.capitalize()}")
used_cities.append(current_city)
cities.remove(current_city)
while True:
user_city = get_user_city(current_city, cities)
used_cities.append(user_city)
cities.remove(user_city)
current_city = get_computer_city(user_city, cities)
if current_city is None:
print("Я не знаю больше городов. Вы победили!")
break
print(f"Мой ход: {current_city.capitalize()}")
used_cities.append(current_city)
cities.remove(current_city)
if __name__ == "__main__":
cities_list = get_cities()
play_game(cities_list)
Код должен быть кратким