#coding=utf-8
'''
Created on 2014-12-29
@author: NeoWu
'''
c=0
import calendar
for year in xrange(1901,1902):
for month in xrange(1,13):
'''
1.加了些打印帮助你理解
2.calendar.monthcalendar(year,month)这个返回的是传入的那一年的某个月的【星期列表】:
[[0, 0, 0, 0, 0, 0, 1],
[2, 3, 4, 5, 6, 7, 8],
[9, 10, 11, 12, 13, 14, 15],
[16, 17, 18, 19, 20, 21, 22],
[23, 24, 25, 26, 27, 28, 29],
[30, 31, 0, 0, 0, 0, 0]]
3.calendar.monthcalendar(year,month)[0]取的列表中的第一个元素:
[0, 0, 0, 0, 0, 0, 1]
4.calendar.monthcalendar(year,month)[0].index(1)返回1出现的位置
代码中判断该值为6,意思是,这个月的1号是星期6
'''
if calendar.monthcalendar(year,month)[0].index(1) == 6:
#--------------------------------------------------
print 'Date: %d-%d(year-month)' % (year,month)
print 'Sun\tMon\tTue\tWed\tThu\tFri\tSat'
for e in calendar.monthcalendar(year,month):
print '%d\t%d\t%d\t%d\t%d\t%d\t%d' % (e[0],e[1],e[2],e[3],e[4],e[5],e[6])
#--------------------------------------------------
print calendar.monthcalendar(year,month)
print calendar.monthcalendar(year,month)[0]
print calendar.monthcalendar(year,month)[0].index(1)
c += 1
print c
结果:
Date: 1901-9(year-month)
Sun Mon Tue Wed Thu Fri Sat
0 0 0 0 0 0 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 0 0 0 0 0 0
[[0, 0, 0, 0, 0, 0, 1], [2, 3, 4, 5, 6, 7, 8], [9, 10, 11, 12, 13, 14, 15], [16, 17, 18, 19, 20, 21, 22], [23, 24, 25, 26, 27, 28, 29], [30, 0, 0, 0, 0, 0, 0]]
[0, 0, 0, 0, 0, 0, 1]
6
Date: 1901-12(year-month)
Sun Mon Tue Wed Thu Fri Sat
0 0 0 0 0 0 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 0 0 0 0 0
[[0, 0, 0, 0, 0, 0, 1], [2, 3, 4, 5, 6, 7, 8], [9, 10, 11, 12, 13, 14, 15], [16, 17, 18, 19, 20, 21, 22], [23, 24, 25, 26, 27, 28, 29], [30, 31, 0, 0, 0, 0, 0]]
[0, 0, 0, 0, 0, 0, 1]
6
2
追问代码中判断该值为6,意思是,这个月的1号是星期6?应该是星期天吧
追答是星期六,你可以查下符合条件的那天是不是星期六