python每日一练 接收年月输出该月有多少天

需求如下:

用户输入月份,判断当前月份为几月,并输出有多少天。如果用户输入2月份,则请用户输入年份,判断平年则输出28天,闰年则输出29天。

这里需要知道哪些是31天,1,3,5,7,8,10,12 是31天

那些是30天,除了2月,和31天之外,都是30天

2月比较特殊,还要判断年份是闰年还是平年

判断是否是闰年,需要年份整除4能除尽,并且整除100不能除尽,或者整除400能除尽

表达式就是:

year %4==0 and year%100!=0 or year %400==0

接下来就简单了,需要接收年份和月份,声明一个接收天数的变量

year=int(input('请输入年份:'))

month=int(input('请输入月份:'))

day=0

然后为了让程序更健壮,需要判断月份是否合法,月份只能是1~12月之间

就需要判断 month>0 and month <13

顺便讲一下,全闭环和半闭合的区别

比如接收一个值i,小6和小于等于5

if i<6:

pass

if i<=5:

pass

小于6,只比较小于6,最大小于6的是5就结束,而小于等于5,则是判断小于5,还要判断是否== 5,这里建议用全闭合,判断还看不出效率,如果是循环,这时候就能凸显出来了,特别是多层嵌套循环,外层用全闭合,效率更高。

整体代码如下:

year=int(input('请输入年份:'))month=int(input('请输入月份:'))day=0if month>0 and month<13:    if month in(1,3,5,7,8,10,12):            day=31    elif month==2:            if year %4==0 and year%100!=0 or year%400==0:                    day=29        else:                    day=28    else:            day=30else:    print('月份输入有误!')print(f'{year}年{month}月,当月有{day}天')


在这个例子中,我们运用到了input() 函数结束字符串,int() 函数,转换成整数

嵌套if的使用,if-elif-else的使用,in的使用,在后面for循环中,in必不可少

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章