Яндекс практикум курс Python
Задача 4
Упростим и улучшим код Анфисы.
При выводе перечня друзей или городов Анфиса применяет циклы, объединяя ключи или значения словаря в одну строку, через пробел.
Но теперь в вашем арсенале есть метод join(), он решает ту же задачу: создаёт строку из элементов последовательности.
Уберите из кода циклы, в которых создаётся перечень друзей и перечень городов, а эти перечни создайте с помощью метода join(). Имена друзей и названия городов должны быть разделены запятыми и пробелом.
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
def process_anfisa(query):
if query == 'Сколько у меня друзей?':
count = len(DATABASE)
return 'У тебя ' + str(count) + ' друзей.'
elif query == 'Кто все мои друзья?':
# Из словаря DATABASE создайте строку с помощью join();
# имена друзей разделите запятой и пробелом.
# Запишите эту строку в переменную friends_string (вместо пустых кавычек).
friends_string = ''
# Этот цикл больше не понадобится, удалите его
for friend in DATABASE:
friends_string += friend + ' '
return 'Твои друзья: ' + friends_string
elif query == 'Где все мои друзья?':
unique_cities = set(DATABASE.values())
# Из сета unique_cities создайте строку с помощью join();
# названия городов разделите запятой и пробелом.
# Запишите эту строку в переменную cities_string (вместо пустых кавычек).
cities_string = ''
# Этот цикл больше не понадобится, удалите его
for city in unique_cities:
cities_string += city + ' '
return 'Твои друзья в городах: ' + cities_string
else:
return '<неизвестный запрос>'
print('Привет, я Анфиса!')
print(process_anfisa('Сколько у меня друзей?'))
print(process_anfisa('Кто все мои друзья?'))
print(process_anfisa('Где все мои друзья?'))
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
def process_anfisa(query):
if query == 'Сколько у меня друзей?':
count = len(DATABASE)
return 'У тебя ' + str(count) + ' друзей.'
elif query == 'Кто все мои друзья?':
friends_string = ", ".join(DATABASE.keys())
return 'Твои друзья: ' + friends_string
elif query == 'Где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return 'Твои друзья в городах: ' + cities_string
else:
return '<неизвестный запрос>'
print('Привет, я Анфиса!')
print(process_anfisa('Сколько у меня друзей?'))
print(process_anfisa('Кто все мои друзья?'))
print(process_anfisa('Где все мои друзья?'))
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
def process_anfisa(query):
if query == 'Сколько у меня друзей?':
count = len(DATABASE)
return 'У тебя ' + str(count) + ' друзей.'
elif query == 'Кто все мои друзья?':
# Из словаря DATABASE создайте строку с помощью join();
# имена друзей разделите запятой и пробелом.
# Запишите эту строку в переменную friends_string (вместо пустых кавычек).
friends_string = ', '.join(DATABASE)
return "Твои друзья: " + friends_string
elif query == 'Где все мои друзья?':
unique_cities = set(DATABASE.values())
# Из сета unique_cities создайте строку с помощью join();
# названия городов разделите запятой и пробелом.
# Запишите эту строку в переменную cities_string (вместо пустых кавычек).
cities_string = ', '.join(unique_cities)
return "Твои друзья в городах: " + cities_string
print('Привет, я Анфиса!')
print(process_anfisa('Сколько у меня друзей?'))
print(process_anfisa('Кто все мои друзья?'))
print(process_anfisa('Где все мои друзья?'))
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
def process_anfisa(query):
if query == 'Сколько у меня друзей?':
count = len(DATABASE)
return 'У тебя ' + str(count) + ' друзей.'
# Здесь проверьте, что переменная query равна строке 'Кто все мои друзья?'
elif query == 'Кто все мои друзья?':
friends_string = ''
# Чтобы получить перечень друзей -
# переберите словарь DATABASE в цикле
for friend in DATABASE:
friends_string += friend + ' ' # Добавляйте к переменной friends_string имя друга и пробел
# Верните строку, составленную из 'Твои друзья: ' и friends_string
return f"Твои друзья: {friends_string}"
elif query == 'Где все мои друзья?':
for unique_cities in DATABASE.values():
unique_cities = set(DATABASE.values())
# Создайте из сета unique_cities строку, где элементы перечислены через пробел, точно так же, как создана строка friends_string.
cities_string = ''
for cities in unique_cities:
cities_string += cities + ' '
return f"Твои друзья в городах: {cities_string}"
else:
return '<неизвестный запрос>'
# Не изменяйте следующий код
print('Привет, я Анфиса!')
print(process_anfisa('Сколько у меня друзей?'))
print(process_anfisa('Кто все мои друзья?'))
print(process_anfisa('Где все мои друзья?'))