本文讲述了python基础编程100例:第3期-判断闰年!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:
第3期-判断闰年
1 问题描述
闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的,补上时间差的年份为闰年,闰年共有366天
请输入一个年份,判断输出是否为闰年
2 解题思路
闰年是历法中的名词,分为普通闰年和世纪闰年。
1582年以来设置闰年的规则:
普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。
也就是说
普通闰年:能被4整除,不能被100整除
世纪闰年:能被400整除
在Python中,判断一个数能否被另一个数整除,可用取模(%)的算法;判断年份是否为闰年可用if条件语句
3 解题方法
方法一
year = int(input("输入一个年份: "))
if year % 4 == 0:
if year % 100 == 0:
if year % 400 == 0:
print(f"{year} 年是世纪闰年") # 整百年能被400整除的是闰年
else:
print(f"{year} 年不是闰年")
else:
print(f"{year} 年是普通闰年") # 非整百年能被4整除的为闰年
else:
print(f"{year} 年不是闰年")
第1行: 用input函数请用户输入一个年份,int函数将input()的字符串转换成整型,并赋值给变量year
第3行: 判断该年份能否被4整除,不能被4整除,转到第11行,输出该年不是闰年
第4行: 若能被4整除,则继续判断该年份能否被100整除,不能被100整除,转到第9行,输出该年是普通闰年
第5-8行: 若能被100整除,继续判断该年能否被400整除,若能被400整除,则为世纪闰年,不能被400整除,则不是闰年
在这里用到了f-string的方法格式化字符串,f是“格式化(format)”的意思,如f"Hello {somevar}",这种f、引号和{}的组合相当于告诉Python:“嘿!这是一个格式化字符串,把这些变量放到那几个位置”。
方法二
year = int(input("输入一个年份: "))
if year % 4 == 0 and year % 100 != 0:
print(f"{year} 年是普通闰年")
elif year % 400 == 0:
print(f"{year} 年是世纪闰年")
else:
print(f"{year} 年不是闰年")
第1行: 创建变量year,用input()输入年份为其赋值
第3-8行: 用if...elif...else语句进行判断。若该年份可以整除4,但不能整除100,则为普通闰年;若该年份可以整除400,则为世纪闰年;否则,该年份不是闰年
方法三
year = int(input("输入一个年份: "))
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print(f"{year} 年是闰年")
else:
print(f"{year} 年不是闰年")
第1行: 创建变量year,用input()输入年份为其赋值
第3-6行: 将判断普通闰年和世纪闰年的方法合并,当该年份能被4整除且不能被100整除或能被400整除时,为闰年,否则不是闰年
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!