如何获得与用户输入相对应的列表。如果我有一个列表:
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将读取错误消息。
答案 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。