亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python創建日歷實例

2020-02-23 05:40:55
字體:
來源:轉載
供稿:網友

本文講述了Python創建日歷的方法,與以往不同的是,本文實例不使用Python提供的calendar實現,相信對大家的Python程序設計有一定的借鑒價值。

此程序在windows下測試通過,由于python字符編碼直接輸出給操作系統,so win下以gbk ansi為準,linux下大概以utf-8為準(未測試)

#coding=gbk# -*- coding: cp936 -*-# 制作一個日歷(只顯示陽歷日期)'''實現方法:不使用python提供的calendar,根據給出的日期計算:1.先根據輸入年份得到這一年的第一天是星期幾((year + (year - 1)/4 - (year - 1)/100 + (year -1)/400)% 7)2.再依據輸入的日期(只需要年月就可以了)得到這個日期得到在當前年份的第幾天3.根據1和2得到當前月份的第一天是星期幾。4.創建日歷,其實就是在5x7的表格中預先放置5*7個Label,分別表示1-31的情況(應該包含所有的情況)。5.將1-31從得到的位置開始打印出來,以7為一行。6.更新日歷,當對日歷頭進行操作(改變日期時)就會更新日歷顯示的內容。7.整個組件的布局是7x7的表格方式。第一行顯示日歷頭,包括年月日的顯示與選擇;第二行為顯示的日期,3-7為顯示的月份信息。'''class Calendar:  passAppCal = Calendar()import timedef calcFirstDayOfMonth(year,month,day):  '''計算某一日的是星期幾'''  months = (0,31,59,90,120,151,181,212,243,273,304,334)  if 0 <= month <= 12:    sum = months[month - 1]  else:    print 'data error'  # 對年月做了判斷,日只是加了上下限,沒有根據月判斷輸入的是否合法  if year < 0 or month < 0 or month > 11 or day < 0 or day >31:    import os    os._exit(1)      sum += day  leap = 0  if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):    leap = 1  if (leap == 1) and (month > 2):    sum += 1  # 先計算某年的第一天是星期幾  # (year + (year - 1)/4 - (year - 1)/100 + (year -1)/400)% 7  return (sum % 7 - 1 + (year + (year - 1)/4 - (year - 1)/100 + (year -1)/400))% 7def createMonth(master):  '''創建日歷'''  for i in range(5):    for j in range(7):      Label(master,text = '').grid(row = i + 2,column = j)def updateDate():  ''' 更新日歷'''  #得到當前選擇的日期  year = int(AppCal.vYear.get())  month = int(AppCal.vMonth.get())  day = int(AppCal.vDay.get())  months = [31,28,31,30,31,30,31,31,30,31,30,31]    # 判斷是否瑞年  if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):    months[1] += 1  fd = calcFirstDayOfMonth(year,month,1)  for i in range(5):    for j in range(7):      root.grid_slaves(i +2,j)[0]['text'] = ''  for i in range(1,months[month - 1] + 1):    root.grid_slaves((i + fd - 1)/7 + 2,(i + fd -1)%7)[0]['text'] = str(i)  def drawHeader(master):  '''添加日歷頭'''  # 得到當前的日期,設置為默認值  now = time.localtime(time.time())  col_idx = 0    # 創建年份組件  AppCal.vYear = StringVar()  AppCal.vYear.set(now[0])  Label(master,text = 'YEAR').grid(row = 0,column = col_idx);col_idx += 1  omYear = apply(OptionMenu,(master,AppCal.vYear) + tuple(range(2005,2010)))  omYear.grid(row = 0,column = col_idx);col_idx += 1  # 創建月份組件  AppCal.vMonth = StringVar()  AppCal.vMonth.set(now[1])  Label(master,text = 'Month').grid(row = 0,column = col_idx);col_idx += 1  omMonth = apply(OptionMenu,(master,AppCal.vMonth) + tuple(range(1,12)))  omMonth.grid(row = 0,column = col_idx);col_idx += 1  # 創建年份組件  AppCal.vDay = StringVar()  AppCal.vDay.set(now[2])  Label(master,text = 'DAY').grid(row = 0,column = col_idx);col_idx += 1  omDay = apply(OptionMenu,(master,AppCal.vDay) + tuple(range(1,32)))  omDay.grid(row = 0,column = col_idx);col_idx += 1  # 創建更新按鈕  btUpdate = Button(master,text = 'Update',command = updateDate)  btUpdate.grid(row = 0,column = col_idx);col_idx += 1  # 打印星期標簽  weeks = ['Sun.','Mon.','Tues.','Wed.','Thurs.','Fri.','Sat.']  for week in weeks:    Label(master,text = week).grid(row = 1,column = weeks.index(week))  from Tkinter import *root = Tk()drawHeader(root)createMonth(root)updateDate()root.mainloop()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品中文字幕在线2019| 日韩视频在线免费| 日韩视频中文字幕| 亚洲精品动漫久久久久| 久久视频在线免费观看| 色yeye香蕉凹凸一区二区av| 欧美视频中文在线看| 国产精品青青在线观看爽香蕉| 日韩综合中文字幕| 日韩少妇与小伙激情| 国产成人短视频| 亚洲国产精品yw在线观看| 欧美高清电影在线看| 国产91精品高潮白浆喷水| 红桃av永久久久| 国产成人午夜视频网址| 国产99在线|中文| 国产美女91呻吟求| 97国产精品人人爽人人做| 揄拍成人国产精品视频| 久久精品国产欧美激情| 亚洲综合视频1区| 精品成人av一区| 国产亚洲精品久久久| 欧美日韩国产一区二区三区| 国产一区红桃视频| 亚洲男人天堂视频| 精品久久香蕉国产线看观看gif| 亚洲国产精品免费| 国产成人自拍视频在线观看| 国产精品自拍小视频| 91国产一区在线| 欧美一区二区三区免费视| 欧美最猛性xxxxx免费| 日韩av资源在线播放| 欧洲精品在线视频| 亚洲片在线观看| 最近的2019中文字幕免费一页| 中文字幕日韩免费视频| 欧洲精品在线视频| 国产午夜精品久久久| 4p变态网欧美系列| 欧美精品成人91久久久久久久| 在线成人中文字幕| 综合136福利视频在线| 亚洲午夜未删减在线观看| 91亚洲一区精品| 精品成人久久av| 热99久久精品| 日韩经典中文字幕在线观看| 97精品视频在线播放| 国产91精品久久久久久久| 久久精品电影一区二区| 国内精品国产三级国产在线专| 91影视免费在线观看| 日韩精品亚洲元码| 日韩精品亚洲精品| 92福利视频午夜1000合集在线观看| 九九热最新视频//这里只有精品| 狠狠操狠狠色综合网| 久久精品成人欧美大片| 欧美日韩午夜视频在线观看| 欧美人与物videos| 国模私拍视频一区| 亚洲图片欧洲图片av| 亚洲精品国产suv| 欧美在线视频一区二区| 国内伊人久久久久久网站视频| 国产精品久久久999| 成人xxxx视频| 欧美激情欧美激情| 国产成人一区二区三区小说| 欧美精品videofree1080p| 亚洲成人久久久久| 亚洲大尺度美女在线| 国产激情999| 这里只有精品丝袜| 成人黄色激情网| 亚洲黄一区二区| 欧美精品免费看| 国产精品pans私拍| 国产精品va在线播放| 亚洲国产成人久久| 亚洲影院色无极综合| 日韩在线国产精品| 日韩在线观看视频免费| 国产精品福利久久久| 中日韩美女免费视频网站在线观看| 国产精品9999| 日韩av免费观影| 亚洲爱爱爱爱爱| 日本亚洲欧美三级| 国产色视频一区| 成人乱人伦精品视频在线观看| 国产精品久久久久久超碰| 亚洲精品欧美一区二区三区| 中文字幕自拍vr一区二区三区| 在线视频亚洲欧美| 亚洲激情免费观看| 国产乱人伦真实精品视频| 成人精品视频久久久久| 在线看片第一页欧美| 欧美电影免费看| 欧美成人精品不卡视频在线观看| 国产精品第七影院| 国自在线精品视频| 国产精品网红福利| 欧美尤物巨大精品爽| 亚洲免费视频观看| 亚洲午夜精品久久久久久性色| 精品人伦一区二区三区蜜桃免费| 国产精品福利在线观看| 国精产品一区一区三区有限在线| 日韩av快播网址| 久久中文久久字幕| 欧美日韩国产色| 国产精品久久久久久搜索| 国产精品视频久久| 成人福利视频网| 欧美激情视频在线| 欧美激情在线有限公司| 国产精品一区二区久久精品| 亚洲精品电影网站| 久久久久久这里只有精品| 欧美日韩国产成人| 亚洲欧美另类在线观看| 久久久久久亚洲精品不卡| 成人a视频在线观看| 欧美一级成年大片在线观看| 欧美日韩国产区| 91精品国产高清自在线| 亚洲精品国产综合区久久久久久久| 97精品久久久中文字幕免费| 亚洲欧美国产va在线影院| 欧美激情亚洲一区| 亚洲精品电影在线| 日韩视频免费大全中文字幕| 亚洲三级免费看| 精品一区二区电影| 欧美精品手机在线| 91国偷自产一区二区三区的观看方式| 精品露脸国产偷人在视频| 亚洲视频专区在线| 亚洲精品国产精品久久清纯直播| 成人高h视频在线| 精品动漫一区二区三区| 国产精品自在线| 大桥未久av一区二区三区| 亚洲精品v欧美精品v日韩精品| 欧美一级高清免费播放| 97视频在线观看视频免费视频| 国产精品9999| 韩剧1988在线观看免费完整版| 中文在线资源观看视频网站免费不卡| 欧美成人手机在线| 国产一区二区成人| 欧美精品videosex性欧美| 日韩美女在线播放| 欧美成人亚洲成人日韩成人| 欧美激情免费视频| 亚洲美女视频网站| 2025国产精品视频| 欧美在线性视频| 成人免费在线视频网站|