因此,如果用户输入2,它将吐出2月28日,如果3月3日,31等等。不用说我是python的新手,这是我试图编写的第一个函数。我不知道我是否可以获得变量来响应用户输入或这是有效的
def dates(month ):
1="Jan,31"
2="Feb,28"
3="Mar,31"
print( month )
def main():
userin = input("Enter a number: ")
month(userin)
main()
答案 0 :(得分:11)
使用calendar
模块; calendar.monthrange()
function返回(weekday, number_of_days)
元组:
>>> import calendar
>>> print calendar.monthrange(2012, 2)[1]
29
请注意,您必须包括年份;毕竟,在闰年,二月有29天。
您可以使用datetime
模块获取当前年份的 :
import datetime
year = datetime.date.today().year
现在你只需要一个月号:
import datetime
import calendar
def main():
year = datetime.date.today().year
userin = int(raw_input("Enter a month as number: ")) # Python 3: `int(input(...))`
print '{}, {}'.format(calendar.month_abbr[userin], calendar.monthrange(year, userin)[1])
这将打印缩写的月份和天数:
Enter a month as number: 2
Feb, 28