Top.Mail.Ru
Ответы

Яндекс практикум курс 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('Где все мои друзья?'))

По дате
По рейтингу
Аватар пользователя
Мудрец
1234567891011121314151617181920212223242526272829
 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('Где все мои друзья?'))