ЯЗЫК - 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Ответы на вопрос
Ответ: Как уже сказали, ты неправильно вызываешь функцию. Убери "print", так чтобы было просто, например, month_name(3, "en") , а не print(month_name(3, "en"))
Объяснение:
Проблема с вашей функцией заключается в том, что она печатает результаты названий месяцев с помощью функции print, но сама функция не возвращает никакого значения. По умолчанию, если функция не имеет явного оператора return, она возвращает значение None. Вот почему вы видите вывод 'сентябрь'None.
Чтобы исправить это, вам следует изменить вашу функцию month_name таким образом, чтобы она возвращала название месяца, а не печатала его. Для этого используйте оператор return. Вот исправленный код:
pythondef 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.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
