python製作萬年曆

2021-09-27 06:37:05 字數 1725 閱讀 5382

最近進行python基礎培訓,課下作業製作萬年曆,之前沒做過,感覺裡面還是有很多需要學的。所謂萬年曆,就是咱們電腦或者手機的日期會記錄每個月每天對應星期幾。用python來製作萬年曆,就是從鍵盤輸入年份和月份,然後輸出對應的日曆表。在製作過程中有如下問題需要思考:

#判斷平年和閏年

def leap_year(year):

if(year%4==0 and year%100==0) or (year%400==0):

return true

else:

return false

下面需要計算每個月的天數 ,其中需要注意2月份要判斷平年和閏年,呼叫leap_year()函式即可。

#計算每個月的天數

def monthdays(year,month):

if month==2:

if leap_year(year):

days=29

else:

days=28

elif month in[4,6,9,11]:

days=30

else:

days=31

return days

接下來我們計算輸入年份year和月份month代表的日期,距離2023年1月1日的天數,如前面所說需要分成兩部分,

#計算總天數

def totaldays(year,month):

yearday=0

for i in range(1990,year):#計算輸入年份之前的

if leap_year(i):

yearday+=366

else:

yearday+=365

for i in range(1,month):#注意不能包括該月份

yearday+=monthdays(year,i)

return yearday

完成現在準備工作之後,就進行顯示函式,利用input()函式從控制台輸入,列印過程需要注意

#顯示函式

year=int(input("請輸入年"))

month=int(input("請輸入月"))

week=(totaldays(year,month))%7 #計算該月第一天是週幾

print('日\t一\t二\t三\t四\t五\t六\t')

for i in range(0,week): #前面列印week個空格

print("\t",end="")

for i in range(1,monthdays(year,month)+1): #c從week+1的位置開始列印數字

if (totaldays(year,month)+i)%7==0: #天數為7的倍數時,記住要換行

print(i,end="\n")

else:

print(i,end="\t")

執行之後,結果如下:

不過我還是沒弄懂,有些程式是求出總天數之後加1,然後去模7,但是我這個程式出來結果是對的,一直想不明白,如果有知道的,麻煩指點一下,對了,如果print出來的是一二三四五六日,這種程式需要稍微改動一下,這裡就不說了,大家可以自己思考一下。

PHP製作萬年曆

預覽圖 當前時間為2018年9月13日 首先要了解php對日期時間的處理 1.主要的三個函式 2.首先先寫個html標籤,再在body標籤裡面插入php header content type text html charset utf 8 檢測使用者是否提交資料 if isset post yea...

PHP製作萬年曆

使用php實現萬年曆功能的要點 得到當前要處理的月份總共有多少天 days 得到當前要處理的月份的一號是星期幾 dayofweek days的作用 知道要處理的月份共有多少天,就可以通過迴圈輸出天數了 dayofweek的作用 只有知道每個月的1號是星期幾,才能知道在輸出天數之前需要輸出多少空格 空...

C語言製作萬年曆

includeint rn int a 用於判斷閏年,閏年返回366天,非閏年返回365天 void xs int a,int b 顯示日曆函式 int main int rn int a if a 4 0 a 100 0 else return 365 void xs int a,int b 非閏...