@Rake970
Учусь языку Python

Что не так с кодом?

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()
        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):
    elements = query.split(', ')
    if elements[0] == 'Анфиса':
        return process_anfisa(elements[1])
    else:
        return process_friend(elements[0],elements[1])
    
print('Привет, я Анфиса!')
print(process_anfisa('сколько у меня друзей?'))
print(process_anfisa('кто все мои друзья?'))
print(process_anfisa('где все мои друзья?'))
  • Вопрос задан
  • 733 просмотра
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
Всё в порядке, код работает, если взять версию с нормальными отступами


Привет, я Анфиса!
У тебя 7 друзей.
Твои друзья: Серёга, Соня, Миша, Дима, Алина, Егор, Коля
Твои друзья в городах: Красноярск, Пермь, Челябинск, Омск, Москва

Можно придраться к функции format_friends_count, тк если в неё передать 22, то она выдаст результат "22 друзей"
Можно придраться к тому что список друзей хранится как объект => имена должны быть уникальными.
Можно придраться к тому, что в "базе данных" с друзьями хранится только город, в котором они находятся.
Можно придраться к дублированию данных, тк если есть два друга в одном городе - придётся дважды писать этот город.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽
16 июл. 2024, в 22:38
2000 руб./за проект
16 июл. 2024, в 22:20
100000 руб./за проект
16 июл. 2024, в 22:16
70000 руб./за проект