Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста дописать код на python игра в города

Алексей Тяпин Ученик (73), открыт 2 дня назад
вот что я смог сделать
у меня очень много городов всё не влезло
goroda='''Абаза, Абакан, Абдулино, Абзаково, Абинск, Абрау-Дюрсо, Авдеевка,
Агидель, Агрыз, Адлер, Адыгейск, Азнакаево, Азов, Ак-Довурак, Аксай, Алагир,
Алапаевск, Алатырь, Алдан, Алейск, Александров, Александровск,
Александровск, Александровск-Сахалинский, Алексеевка, Алексин, Алзамай,
Алупка, Алушта, Алчевск, Альметьевск, Алёшки, Амвросиевка, Амурск,
Анадырь, Ангарск, Андреаполь, Анжеро-Судженск, Анива, Антрацит,
'''
import random
goroda = goroda.replace('n', ' ')
goroda = goroda.split(', ')
print(goroda)
hooho=False
print("Приветствую это игра в города")
gorod_comp = random.choice(goroda)
lbukva = gorod_comp[-1]
print(gorod_comp)
while True:
gorod_Human=input().lower()
lbukva = gorod_Human [-1]
for elem in goroda:
if elem[0]==lbukva:
hooho=True

gorod_comp = elem
lbukva = gorod_comp[-1]
print(gorod_comp)
if hooho==False:
print('fjyfg')
break
player=input()
if player=="Закончить":
break
else:
prev=check(player, prev)
2 ответа
Cogni Просветленный (40059) 2 дня назад
 import random 

goroda_str = '''Абаза, Абакан, Абдулино, Абзаково, Абинск, Абрау-Дюрсо, Авдеевка,
Агидель, Агрыз, Адлер, Адыгейск, Азнакаево, Азов, Ак-Довурак, Аксай, Алагир,
Алапаевск, Алатырь, Алдан, Алейск, Александров, Александровск,
Александровск, Александровск-Сахалинский, Алексеевка, Алексин, Алзамай,
Алупка, Алушта, Алчевск, Альметьевск, Алёшки, Амвросиевка, Амурск,
Анадырь, Ангарск, Андреаполь, Анжеро-Судженск, Анива, Антрацит,
Белгород, Бердск, Бийск, Биробиджан, Благовещенск, Бодайбо, Братск, Брянск,
Великие Луки, Владивосток, Волгоград, Вологда, Воркута, Воронеж,
Геленджик, Глазов, Горно-Алтайск, Грозный,
Екатеринбург, Елец, Ессентуки,
Жердевка,
Заречный, Златоуст,
Иваново, Ижевск, Иркутск,
Йошкар-Ола,
Казань, Калининград, Калуга, Камышин, Кандалакша, Канск, Кемерово, Киров,
Кисловодск, Клин, Когалым, Коломна, Комсомольск-на-Амуре, Кострома,
Краснодар, Красноярск, Курган, Курск, Кызыл,
Липецк, Магадан, Магнитогорск, Майкоп, Махачкала, Миасс, Минеральные Воды, Москва, Мурманск, Муром,
Набережные Челны, Назрань, Нальчик, Находка, Невинномысск, Нерюнгри, Нижневартовск, Нижнекамск,
Нижний Новгород, Нижний Тагил, Новокузнецк, Новороссийск, Новосибирск, Новочеркасск, Новый Уренгой,
Обнинск, Омск, Орел, Оренбург, Орск,
Пенза, Пермь, Петрозаводск, Петропавловск-Камчатский, Псков, Пятигорск,
Ростов-на-Дону, Рубцовск, Рязань,
Салехард, Самара, Санкт-Петербург, Саранск, Саратов, Севастополь, Северодвинск,
Северск, Смоленск, Сочи, Ставрополь, Стерлитамак, Сургут, Сыктывкар,
Тамбов, Тверь, Тобольск, Тольятти, Томск, Туапсе, Тула, Тюмень,
Улан-Удэ, Ульяновск, Уссурийск, Уфа, Ухта,
Хабаровск, Ханты-Мансийск,
Чебоксары, Челябинск, Череповец, Черкесск, Чита,
Элиста, Энгельс,
Якутск, Ярославль
'''
goroda = goroda_str.replace('\n', '').split(', ')
goroda = [gorod.strip() for gorod in goroda if gorod.strip()] # Удаляем пробелы и пустые строки

print(goroda)
gorod_comp = random.choice(goroda)
print("Приветствую это игра в города!")
print(f"Я начинаю с города: {gorod_comp}")
last_letter = gorod_comp[-1].lower()

used_cities = set()
used_cities.add(gorod_comp.lower())

while True:
gorod_human = input(f"Вам на букву '{last_letter.upper()}': ").lower()

if gorod_human == "закончить":
print("Спасибо за игру!")
break

if not gorod_human:
print("Введите название города!")
continue

if gorod_human in used_cities:
print("Этот город уже был назван. Попробуйте другой.")
continue

if gorod_human[0] != last_letter:
print(f"Город должен начинаться на букву '{last_letter.upper()}'.")
continue

if gorod_human not in [g.lower() for g in goroda]:
print("Такого города нет в моем списке.")
continue

used_cities.add(gorod_human)
last_letter = gorod_human[-1].lower()

possible_cities = [gorod for gorod in goroda if gorod[0].lower() == last_letter and gorod.lower() not in used_cities]

if not possible_cities:
print("Я не могу назвать город на эту букву. Вы победили!")
break

gorod_comp = random.choice(possible_cities)
print(f"Мой ответ: {gorod_comp}")
used_cities.add(gorod_comp.lower())
last_letter = gorod_comp[-1].lower()

print("Игра окончена.")
Владимир Чуркин Ученик (134) 2 дня назад
У тебя код не работает, потому что ты при вводе города пользователем используешь .lower(), а в переменной goroda все слова начинаются с большой буквы. Либо каждый раз берешь .title() от ввода пользователя, либо используешь lower() на goroda и при каждом выводе используешь title. И конец кода мне не понятен... Что такое check? Ну в остальном вроде норм
Похожие вопросы