Необходимо реализовать игру в города с компьютером.
В вашей программе должны быть предусмотрены:
– файл со списком всех городов России (легко находится в поисковике)
– файл для сохранения всех ходов (пользователя и компьютера)
Легенда игры:
– компьютер выводит случайный город из списка всех городов
– пользователь пишет название города и нажимает Enter
– программа проверяет существование этого города (что такое город есть в полном списке городов)
– программа проверяет не назывался ли такой город кем-то из игроков
при помощи текстового файла
python
import random
# Загрузка списка всех городов из файла
with open("cities.txt", "r", encoding="utf-8") as file:
cities = [city.strip() for city in file.readlines()]
# Загрузка списка ходов из файла
try:
with open("moves.txt", "r", encoding="utf-8") as file:
moves = [move.strip() for move in file.readlines()]
except FileNotFoundError:
moves = []
# Функция выбора случайного города компьютером
def choose_random_city():
return random.choice(cities)
# Функция проверки условий и ходов
def play_game():
comp_city = choose_random_city()
print(f"Компьютер выбрал город: {comp_city}")
user_city = input("Назовите город: ")
if user_city in cities and user_city not in moves:
moves.append(user_city)
print("Ход пользователя успешно принят.")
else:
print("Неверный ход. Игра окончена.")
return False
return True
# Игра
while True:
if not play_game():
break
# Сохранение списка ходов в файл
with open("moves.txt", "w", encoding="utf-8") as file:
for move in moves:
file.write(move + "n")
Примечания:
- В данном примере предполагается, что в файле "cities.txt" содержится список городов, каждый город на новой строке.
- Используется файл "moves.txt" для сохранения ходов пользователей.
- Для получения списка городов можно воспользоваться открытыми источниками или создать свой собственный список.
- Программа проверяет ввод пользователя на правильность и уникальность города.
- Игра продолжается, пока пользователь вводит правильные города.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет