好吧题目很简单,但是有些细节还是挺有意思的。
题目是:计算今年是否是闰年,判断闰年条件,满足年份模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)