作品構(gòu)思
農(nóng)歷,是我國傳統(tǒng)歷法,是幾千年來勞動人民智慧的結(jié)晶,是中華傳統(tǒng)文化瑰寶,蘊含著豐富的科學(xué)知識。一直以來,農(nóng)歷指導(dǎo)勞動人民日出而作,日落而息,周而復(fù)始,養(yǎng)育了一代代中華兒女。但是,隨著現(xiàn)代化進程不斷加快,農(nóng)歷歷法的民間傳承幾乎斷檔。設(shè)計農(nóng)歷與公歷日期轉(zhuǎn)換算法,旨在幫助我們了解我國傳統(tǒng)歷法,理解農(nóng)歷在我國文化中的重要意義,堅定文化自信,肩負起傳承中華傳統(tǒng)文化的重任。
項目制作過程
項目制作過程包括如下步驟。
1.認識與分享:農(nóng)歷歷法
(1)整理任務(wù)單。任務(wù)單內(nèi)容包括:農(nóng)歷歷史溯源;農(nóng)歷的周期。
(2)項目組搜集信息并匯報研究結(jié)果。我們結(jié)合當(dāng)前農(nóng)歷歷法規(guī)則說明農(nóng)歷歷法計算規(guī)則,農(nóng)歷閏年是19年中有7個閏年,閏月則是需要根據(jù)閏年在這19年中對應(yīng)的位置,在相應(yīng)的月份后插入一個月,也稱為閏幾月,更精確的算法需要結(jié)合現(xiàn)代科技手段進行測算。
2.學(xué)習(xí)Python基礎(chǔ)語法
(1)以判斷閏年為例設(shè)計算法,得出判斷方式為“四年一閏,百年不閏,四百年再閏”。
(2)算法是解決一類特定問題而采取的確定的有限的步驟。我們自學(xué)教材,應(yīng)用ProcessOn軟件繪制流程圖,利用流程圖描述算法。
(3)學(xué)習(xí)算法的三種結(jié)構(gòu)(順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)),依靠流程圖理解算法的執(zhí)行過程。
(4)學(xué)習(xí)Python語言基本語法,學(xué)習(xí)數(shù)據(jù)類型、常量與變量、輸入與輸出、運算符等常見語法結(jié)構(gòu)。
(5)利用Pycharm編譯工具演示編寫選擇結(jié)構(gòu)代碼,使用if…elif…else格式編寫代碼。
3.構(gòu)建農(nóng)歷數(shù)據(jù)轉(zhuǎn)換器
(1)項目設(shè)計:確立項目目標(biāo)是構(gòu)建農(nóng)歷數(shù)據(jù)轉(zhuǎn)換器,將公歷日期轉(zhuǎn)換為農(nóng)歷日期,加深對農(nóng)歷歷法的了解;設(shè)立項目基礎(chǔ)功能,計算未來三年的春節(jié)日期;輸入公歷日期即刻轉(zhuǎn)化為公歷日期。
(2)撰寫項目文本,設(shè)計算法的流程和功能。
(3)因農(nóng)歷歷法中存在19年7閏的復(fù)雜情況,實現(xiàn)起來較為困難,采用了農(nóng)歷算法庫lunarcalendar來進行公歷與農(nóng)歷間的轉(zhuǎn)換。但是該庫并非是完全精確的算法,而是使用了一些規(guī)則和逼近方法來計算。
(4)pip命令和導(dǎo)入第三方庫的方法。命令行輸入命令為:pip install lunarcalendar。
(5)教師提供文心一言問答接口,我們通過問答輔助代碼實現(xiàn)。
(6)調(diào)試完代碼后,完善項目文本。
項目反思與創(chuàng)新點
農(nóng)歷歷法的測算存在著一定程度的復(fù)雜性、不確定性,因此,很難找到準(zhǔn)確精確的農(nóng)歷歷法,在展現(xiàn)形式上確實存在問題,需要我們后續(xù)繼續(xù)結(jié)合天文學(xué)方面的知識繼續(xù)探究。
項目功能演示
項目功能展示如下。
(1)此算法可輸出日歷上每個公歷日期對應(yīng)的農(nóng)歷日期。
(2)輸出未來三年農(nóng)歷春節(jié)具體公歷日期。