Игра в города, что делать?
У меня вопрос, тут либо я что-то делаю не так имея верное решение проблемы, либо решение проблемы неверное(в таком случае пожалуйста дайте верное)
Пропарсил сайт со списком городов, взял список всех городов от А до Я, нужно чтобы программа рандомно выдавала город, заканчивающийся на ту букву города, который я назвал. Вот что я нашёл в интернете и подстроил под себя: if f.endswith('в'): res = list(filter(lambda x: x.startswith('В'),data_2))
переменная data_2 делает список методом split из переменной data, а f - инпут. Верно ли это решение, и что нужно принтовать? (пробовал принтовать data_2, выдавало список городов на букву А, потом на букву Б, а после вообще список городов на букву Ю)
Ответы (3 шт):
import random
data = ['Воркута', 'Магадан', 'Вологда']
lst = list(filter(lambda x: x.startswith('В'), data))
city = random.choice(lst)
print(city)
Мое решение для вас
from random import choice
cities = ['Пермь', 'Москва', 'Питер', 'Самара']
a = input()
r=choice([city for city in cities if city.endswith(a)])
print(r)
import random
lst = ["ленмнград", "дзержинск", "киров"]
q = "Ленмнград"[-1]
a = list(filter(lambda x: x[0] == q, lst))
print(random.choice(a).capitalize())