Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как написать функцию, которая принимает номер месяца и язык (русский или английский) и возвращает его название?

Программирование+3
Greta Tepanyan
  ·   · 9,1 K
import locale
import calendar

locales = {
    'en': 'en_EN',
    'ru': 'ru_RU',
}

def get_name_month(id_month: int, need_locale: str):
    locale.setlocale(locale.LC_ALL, locales.get(need_locale))
    return calendar.month_name[id_month]

for i in range(1, 13):
    en_month, ru_month = get_name_month(i, 'en'), get_name_month(i, "ru")
    print(f'[{i}] en: {en_month}, ru: {ru_month}')
Будет выведено:
[1] en: January, ru: Январь
[2] en: February, ru: Февраль
[3] en: March, ru: Март
[4] en: April, ru: Апрель
[5] en: May, ru: Май
[6] en: June, ru: Июнь
[7] en: July, ru: Июль
[8] en: August, ru: Август
[9] en: September, ru: Сентябрь
[10] en: October, ru: Октябрь
[11] en: November, ru: Ноябрь
[12] en: December, ru: Декабрь
PS: но это решение выгодно, если язык заранее не известен. Для двух языков лучше использовать два массива с именами.
1 эксперт согласен
По образованию физик, работаю программистом  · 16 янв 2022
Положить в два статических массива по 12 названий на каждом языке. Если в Вашем языке программирования нумерация элементов массива начинается с нуля, то из номера месяца вычесть единицу. Выбрать из нужного массива нужный... Читать далее
1 эксперт согласен
Разработчик чат-бота в банке ВТБ  · 18 янв 2022
Не совсем понял задачу, но я сделал просто код (который вы можете уже преобразовать в функцию): x = input('Введите язык: ') y = input('Введите номер месяца: ') if x == 'русский': if y == '1': print('Январь') elif y == '2': prin... Читать далее
Знаю кое-что кое о чем.  · 16 янв 2022
1. Использовать регулярные выражения для распознания паттернов "одна или две цифры, пробел, слово" и "слово, пробел, одна или две цифры" 2. Сделать словарь, в котором ключами будут названия языков, а значениями - списки... Читать далее