Помогите решить задачу на Python

Savinien

Новичок
Пользователь
Апр 14, 2022
3
0
1
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}

# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'


def process_anfisa(query):
if query == 'сколько у меня друзей?':

count = len(DATABASE)
format_friends_count(count)

# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
return f'У тебя {format_friends_count(count)}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
word = query.split(', ')
if word[0]=='Анфиса':
process_anfisa(word)
return process_anfisa(word[1])
else:
return process_friend(word[0], query)

def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return '<неизвестный запрос>'

else:
return f'У тебя нет друга по имени {name}'






print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
 

Savinien

Новичок
Пользователь
Апр 14, 2022
3
0
1
Вывод получается вот такой,
 

Вложения

  • Снимок экрана 2022-04-14 в 15.01.49.png
    Снимок экрана 2022-04-14 в 15.01.49.png
    217,5 КБ · Просмотры: 42

Savinien

Новичок
Пользователь
Апр 14, 2022
3
0
1
А должен пять вот такой
 

Вложения

  • Снимок экрана 2022-04-14 в 15.03.14.png
    Снимок экрана 2022-04-14 в 15.03.14.png
    86,4 КБ · Просмотры: 36

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
932
208
43
20
Москва
Вставь пожалуйста код с отступами
1647162378032-png.1702
 

Domohod45

Новичок
Пользователь
Дек 7, 2021
68
3
8
А должен пять вот такой
На форуме уже был такой вопрос, посмотрите:
 
  • Мне нравится
Реакции: regnor

Форум IT Специалистов