Вывести на экран аббревиатуру месяца

Рейтинг: 0Ответов: 3Опубликовано: 19.11.2014
months = "JanFebMarAprMayJunJulAugSepOctNovDec"
n = int(input("Enter a month number"))

Выше - это исходные данные. Нужно вывести на экран аббревиатуру месяца, основываясь на числе, которое вводит пользователь. Остановился на типа таком, есть еще много подобных вариантов...

for i in range(len(months)):
    print(months[n])

Но это не то.

Укажите направление, куда думать, кроме направлений из 3-х букв и т.д. ))

Ответы

▲ 2

Как вариант, можно преобразовать исходную строку в список строк:

months_list = [months[i*3:(i+1)*3] for i in range(12)]

и дальше делать

print(months_list[n-1])

Обращаться с этим списком будет удобнее и несколько эффективнее, чем каждый раз делать срез, чтобы получить название месяца.

▲ 2

Входной формат не очень удачный, вместо этого можно использовать calendar.month_abbr, который может зависеть от текущей локали:

#!/usr/bin/env python3
from calendar import month_abbr

month_number = int(input("Enter a month number (Jan -> 1): "))
print(month_abbr[month_number])
▲ 1
months[(n-1)*3:n*3]