Задать вопрос
@Moroz22848

Яндекс Практикум.Что в моем коде может быть не так?

Задание в Яндекс практикуме:
Измените код Анфисы. Оставьте вывод на экран, т.е. вызовы функции print(), только в одном месте — в основном теле программы. Эти вызовы уже написаны в предварительном коде задания.
Все прошлые выводы на экран — в функциях show_count_friends() и process_query() — замените на возвращения результатов из функции оператором return.
Подсказка в Яндекс практикуме:
Не забудьте вернуть результат выполнения функции show_count_friends() из process_query(), чтобы первому вызову print() было что печатать.

Мой код:
FRIENDS = ['Серёга', 'Соня', 'Дима', 'Алина', 'Егор']


def show_count_friends(count_friends):
    if count_friends == 1:
        print('У тебя 1 друг')
    elif 2 <= count_friends <= 4:
        print('У тебя ' + str(count_friends) + ' друга')
    elif count_friends >= 5:
        print('У тебя ' + str(count_friends) + ' друзей')
    return count_friends


def process_query(query):
    if query == 'Сколько у меня друзей?':
        count = len(FRIENDS)
        show_count_friends(count)
    elif query == 'Кто все мои друзья?':
        friends_string = ', '.join(FRIENDS)
        print('Твои друзья: ' + friends_string)
    else:
        print('<неизвестный запрос>')
    return query


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


P.S. Что я мог сделать не так что мне прилетает ошибка "В коде функции show_count_friends() замените печать на возвращение значения." когда жму кнопку проверить
  • Вопрос задан
  • 7347 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
sim3x
@sim3x
Прочитайте текст ошибки вслух медленно столько раз, сколько вам потребуется для ее принятия и понимания

spoiler
Ето частично шутка, частично нет
Иногда требуется задействовать различные разделы мозга, чтоб понять где затык

Когда вы произносите что-то, то активизируется как минимум речь, слух, распознавание речи
Аналогично можно написать текст от руки на бумаге: моторика, распознавание текста
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@magbelyaeva
я столько с этим мучалась, оказывается в else нужно было приветствие добавить!
else:
        print("Привет, я Анфиса!")
        print('<неизвестный запрос>')
Ответ написан
Комментировать
OlegPivkin
@OlegPivkin
elif query == 'Кто все мои друзья?':
print("Привет, я Анфиса!")
print('Твои друзья: ' + ', '.join(FRIENDS))

process_query('Сколько у меня друзей?')
process_query('Как меня зовут?')
process_query('Кто все мои друзья?')
Ответ написан
Комментировать
@tw1sted0s
FRIENDS = ['Серёга', 'Соня', 'Дима', 'Алина', 'Егор']

def print_friends_count(friends_count):
    if friends_count == 1:
        print('У тебя 1 друг')
    elif 2 <= friends_count <= 4:
        print('У тебя ' + str(friends_count) + ' друга')
    elif friends_count >= 5:
        print('У тебя ' + str(friends_count) + ' друзей')


# перенесите в функцию process_query() вот этот код:
def process_query(query):
    print("Привет, я Анфиса!")
    count = len(FRIENDS)
    if query == 'Сколько у меня друзей?':
        print_friends_count(count)
    elif query == 'Кто все мои друзья?':
        print('Твои друзья: '+', '.join(FRIENDS))
    else:
        print('<неизвестный запрос>')

process_query('Сколько у меня друзей?')
process_query('Как меня зовут?')
process_query('Кто все мои друзья?')
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы