如何在python中将月份数转换为月份名

时间:2012-12-08 04:59:16

标签: list numbers python-3.2

如何获得与用户输入相对应的列表。如果我有一个列表:

month_lst = ['January', 'February', 'March', 'April', 'May', 'June', 'July',
              'August', 'September', 'October', 'November', 'December']

如何输入1作为答案返回“1月”?

input('Enter the number to be converted: ')

此外,输入需要检查列表以确保它在1-12之内,因此输入15将读取错误消息。

4 个答案:

答案 0 :(得分:10)

日历库可以提供您想要的内容,请参阅http://docs.python.org/2/library/calendar.html

上的文档
calendar.month_name[month_number] #for the full name 

calendar.month_abbr[month_number] #for the short name

答案 1 :(得分:1)

month_lst = ['January', 'Feburary', 'March', 'April', 'May', 'June', 'July', 
              'August', 'September', 'October', 'November', 'December']
try:
    month = int(input('Enter the number to be converted: '))
    if month < 1 or month > 12:
        raise ValueError
    else:
        print(month_lst[month - 1])
except ValueError:
    print("Invalid number")

答案 2 :(得分:1)

我知道这是一个非常老的问题。但是我找到了一个非常简单的解决方案。

import calendar

def get_month_name(month_number):
    try:
        return calendar.month_name[month_number]
    except IndexError:
        print("'{}' is not a valid month number".format(month_number))

答案 3 :(得分:0)

您可以使用input()raw_input()从用户那里获得输入,具体取决于您的python版本(后者适用于Python 2.x)。

您可以将提供给您的字符串转换为int()的整数。

最后,您可以使用month_lst[some_integer]在列表中查找字符串,其中some_integer比您从用户获得的整数小1。