好吧题目很简单,但是有些细节还是挺有意思的。
题目是:计算今年是否是闰年,判断闰年条件,满足年份模400为0,或者模4为0但是模100不为0
答案是这样的:
import time
#计算今年是否是闰年,判断闰年条件,满足年份模400为0,或者模4为0但是模100不为0
thisyear = time.localtime()[0] #获取年份
if thisyear%400==0 or thisyear%4==0 and thisyear%100<>0:
print 'this year is a leap year'
else:
print 'this yeat is not a leap year'
很简单的源码,在此来记录其中的一些细节。
先回顾一下Python中的数组,Python的数组分三种类型:
(1) list 普通的链表,初始化后可以通过特定方法动态增加元素。
定义方式:arr = [元素]
(2) Tuple 固定的数组,一旦定义后,其元素个数是不能再改变的。
定义方式:arr = (元素)
(2) Dictionary 词典类型, 即是Hash数组。
定义方式:arr = {元素k:v}
接下来看看源码。
首先是time模块,localtime()返回的是一个tuple,也就是一个固定大小的数组,数组里是当前时间的一些数据 :
localtime([seconds]) -> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)
然后是if判断里面的 or 和 and ,

本文探讨了Python中计算闰年的逻辑,解释了闰年的判断条件,并指出在if语句中,and的优先级高于or。通过示例展示了Python逻辑运算符的短路机制,即在不需要求值时不会进行运算,这一特性在其他语言中也存在。此外,文章提到了如何利用and和or实现类似三元运算的效果。
最低0.47元/天 解锁文章
5830

被折叠的 条评论
为什么被折叠?



