Вопрос задан 20.07.2023 в 16:28. Предмет Информатика. Спрашивает Маяковская Вика.

ЯЗЫК - PYTHON ------------------------------------Напишите функцию, которая принимает номер

месяца и язык (русский или английский), а возвращает его название.--------------------------------------Пример 1Вводprint(month_name(3, "en"))Выводmarch-----------------Пример 2Вводprint(month_name(3, "ru"))Выводмарт--------------------------Я написал такую функцию:def month_name(number, language): spisok_month_en = (((['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']))) spisok_month_ru = (((['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь']))) if language == 'en': print(spisok_month_en[number - 1]) if language == 'ru': print(spisok_month_ru[number - 1])--------------------------------------------------------------Однако, вместо ответа, например, 'сентябрь', оно мне выдает'сентябрь'NoneПочему?Также отмечу, что весь список на одной строке не умещается и его обязательно переносить из-за стандартов PEP8
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Полетило Аня.

Ответ: Как уже сказали, ты неправильно вызываешь функцию. Убери "print", так чтобы было просто, например, month_name(3, "en") , а не print(month_name(3, "en"))

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема с вашей функцией заключается в том, что она печатает результаты названий месяцев с помощью функции print, но сама функция не возвращает никакого значения. По умолчанию, если функция не имеет явного оператора return, она возвращает значение None. Вот почему вы видите вывод 'сентябрь'None.

Чтобы исправить это, вам следует изменить вашу функцию month_name таким образом, чтобы она возвращала название месяца, а не печатала его. Для этого используйте оператор return. Вот исправленный код:

python
def month_name(number, language): spisok_month_en = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'] spisok_month_ru = ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'] if language == 'en': return spisok_month_en[number - 1] elif language == 'ru': return spisok_month_ru[number - 1] else: return 'Invalid language' # Примеры использования: print(month_name(3, "en")) # Вывод: march print(month_name(3, "ru")) # Вывод: март

Теперь функция возвращает нужное значение, и вы можете его печатать вне функции по необходимости. Также, я изменил расположение квадратных скобок для списков, чтобы соответствовать стандартам PEP 8.

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

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