игра в города на python
Мне нужна помощь с этим кодом, код для игры в города.
Проблема только в том что бот использует любые города из списка , даже те которые уже были, как это исправить?
И вторая проблема в том что игрок может писать города на любые буквы, а не только на ту которая была последней у слова перед этим?
Если можете подскажите как
вот код:
# This Python file uses the following encoding: utf-8
import random
import time
print("Введите город:")
while True:
# This Python file uses the following encoding: utf-8
test_list = ['Арзамас', 'Анапа', 'Москва', 'Самара','Нижний Новгород','Саров','Сочи','Ялта','Волгоград','Дзержинск','Киров','Краснодар','Ростов','Владимир','Крымск','Красноярск','Азов','Городец','Белгород','Воронеж','Санкт-Петербург','Галич','Гагарин','Дмитров','Кисловодск','Клин','Ковров','Муром','Иваново','Ижевск','Ивангород','Жуков','Жигулевск']
str=input()
if str in test_list:
lister = list(str)
cherck = lister[-1]
track = lister[1]
res = [idx for idx in test_list if idx[0].lower() == cherck.lower()]
prers = random.choice(res)
trr = lister[-1]
rers = list(prers)
print(prers)
res = [idx for idx in test_list if idx[0].lower() == cherck.lower()]
time.sleep(0.1)
res = [idx for idx in test_list if idx[0].lower() == cherck.lower()]
else:
print("Не найдено города с таким названием,попробуйте ещё раз")
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
import random
test_list = ['Арзамас', 'Анапа', 'Москва', 'Самара','Нижний Новгород','Саров','Сочи','Ялта','Волгоград','Дзержинск','Киров','Краснодар','Ростов','Владимир','Крымск','Красноярск','Азов','Городец','Белгород','Воронеж','Санкт-Петербург','Галич','Гагарин','Дмитров','Кисловодск','Клин','Ковров','Муром','Иваново','Ижевск','Ивангород','Жуков','Жигулевск']
while True:
str0 = input('Введите город: ')
if str0 in test_list:
test_list.remove(str0)
else:
print('неверно')
continue
lst0 = []
for city in test_list:
if city[0].lower() == str0[-1]:
lst0.append(city)
if len(lst0) != 0:
city = random.choice(lst0)
print(city)
test_list.remove(city)