Python函数,它接受输入并吐出一个月以及它有多少天

时间:2013-07-02 12:54:56

标签: python

因此,如果用户输入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()

1 个答案:

答案 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