999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python語言的萬年歷功能的實(shí)現(xiàn)

2021-07-13 03:18:04
信息記錄材料 2021年6期
關(guān)鍵詞:定義語言

王 娜

(衡水學(xué)院 河北 衡水 053000)

1 引言

Python的含義是“蟒蛇”,它的擁有者是“Python Software Foundation”,簡(jiǎn)稱PSF,最開始是由Guido van Rossum所開發(fā),發(fā)展至今已有30年了。Python語言擁有高效的易于操作的數(shù)據(jù)結(jié)構(gòu),是一門解釋性語言。Python語言具有豐富的標(biāo)準(zhǔn)庫和第三方庫,由于它的開放性,第三方庫還在不斷的增加當(dāng)中,可以解決生活中方方面面的問題。目前Python廣泛應(yīng)用于機(jī)器學(xué)習(xí)、數(shù)據(jù)分析和網(wǎng)絡(luò)爬蟲等方面。

2 萬年歷制作思路

萬年歷,顧名思義,就是可以查看任意年份月份的日歷。在交互窗口輸入年份和月份,就可以出現(xiàn)跟日歷一樣的圖案。

制作萬年歷之前,必須做以下準(zhǔn)備。

(1)判斷某年是否為閏年:def isLeapYear(year): #判斷是否是瑞年

(2)列舉出每個(gè)月的天數(shù)并返回:def monthDay(year,month): #12個(gè)月的天數(shù)

(3)統(tǒng)計(jì)出從1900年1月1日到上個(gè)月的天數(shù)之和:

def totalDay(year,month):

days = 0

for index_year in range(1900,year):

days += 366 if isLeapYear(index_year) else 365

for index_month in range(1,month):

days += monthDay(year,index_month)

return days

也就是說,如果想看2021年3月份的日歷,首先計(jì)算一下從1900年1月1日開始,到2021年2月底一共多少天。為什么要從1900年的1月1日開始算呢?因?yàn)檫@一天是星期一。從這一天開始,也是為了后續(xù)的日期比較好計(jì)算是星期幾。

(4)計(jì)算出本月的1日是星期幾:space_num = totalDay(year,month) % 7+1 #1號(hào)是星期幾。

(5)最后分別計(jì)算出本月的每天是星期幾,對(duì)號(hào)入座,注意每7日換行,打印出來。

在計(jì)算并打印日歷時(shí),需注意兩個(gè)問題:一是如何讓日期和相應(yīng)的星期對(duì)齊,如1號(hào)是星期日,那么1號(hào)就要放到星期日的下面,2號(hào)就要放到星期一的下面,以此類推;二是如何實(shí)現(xiàn)換行,如我的排列是“日一二三四五六”,那么在星期六對(duì)應(yīng)的日期后就應(yīng)該換行。比如7號(hào)是星期六,放在六的下面,那么8號(hào)就得是下一行的開頭,放在日的下面。

3 程序所用到的語法

整個(gè)程序中用到的主要語法有以下幾種。

3.1 函數(shù)的定義和調(diào)用[1]

Python語言將可能需要反復(fù)執(zhí)行的代碼封裝為函數(shù),并在需要該功能的地方進(jìn)行調(diào)用,不僅可以實(shí)現(xiàn)代碼復(fù)用,更重要的是可以保證代碼的一致性,只需要修改該函數(shù)代碼,則所有調(diào)用均受到影響。

在實(shí)際項(xiàng)目開發(fā)中,往往會(huì)把一些通用的函數(shù)封裝到一個(gè)模塊中,并把這個(gè)通用模塊文件放到頂層文件夾中,這樣更方便管理。

函數(shù)定義語法:

def 函數(shù)名([參數(shù)列表]):

'''注釋'''

函數(shù)體

函數(shù)的調(diào)用和其他語言一樣,只要寫出函數(shù)名和實(shí)參就可以了。

例如,生成斐波那契數(shù)列的函數(shù)定義和調(diào)用

def fib(n): # 函數(shù)頭部

a,b = 0,1 # 函數(shù)體,也是反復(fù)執(zhí)行的語句

while a < n:

print(a,end=' ')

a,b = b,a+b

print()

fib(1000) #函數(shù)的調(diào)用在定義函數(shù)時(shí)需注意以下幾個(gè)問題:

(1)函數(shù)形參不需要聲明其類型,也不需要指定函數(shù)返回值類型;

(2)即使該函數(shù)不需要接收任何參數(shù),也必須保留一對(duì)空的圓括號(hào);

(3)括號(hào)后面的冒號(hào)必不可少;

(4)函數(shù)體相對(duì)于def關(guān)鍵字必須保持一定的空格縮進(jìn);

(5)Python允許嵌套定義函數(shù)。

在本例中,閏年的判斷、天數(shù)的統(tǒng)計(jì)都定義成了函數(shù),這樣大大增加了程序的靈活度,隨意給出年份和月份,就可以很快計(jì)算出該月有多少天,以及每天是星期幾。

3.2 input函數(shù)和print函數(shù)[2]

用Python進(jìn)行程序設(shè)計(jì),輸入是通過input( )函數(shù)來實(shí)現(xiàn)的,input函數(shù)的一般格式為:

x = input('提示:')

在Python 3.x中,input()函數(shù)用來接收用戶的鍵盤輸入,可輸入數(shù)字、字符串和其它任意類型對(duì)象。不論用戶輸入數(shù)據(jù)時(shí)使用什么界定符,input()函數(shù)的返回結(jié)果都是字符串,需要將其轉(zhuǎn)換為相應(yīng)的類型再處理。

Python 3.x中使用print()函數(shù)進(jìn)行輸出。

print()函數(shù)的格式如下:

print([objects][,sep=' '][,end=' '][,file=sys.stdout][,flush=False])

objects是輸出的對(duì)象;

sep是對(duì)象之間插入的分隔符,默認(rèn)是空格;

end是添加在輸出文本最后的一個(gè)字符,默認(rèn)是換行符;

file指定輸出內(nèi)容發(fā)送到的文件,默認(rèn)是顯示器;

flush指定輸出的內(nèi)容是否立即寫文件。

使用p r i n t函數(shù)輸出時(shí),常常指定格式化串,格式是:'格式化串' %參數(shù),其中格式化串可以包含格式化字符和常量字符串,Python的格式化字符和C語言的類似。

例如:print("%2d "%i,end="")

3.3 if語句

(1)If語句的單分支結(jié)構(gòu):

if 條件表達(dá)式:

滿足條件時(shí)要執(zhí)行的語句塊

注意:同一語句塊的所有語句縮進(jìn)相同。

(2)If語句的雙分支結(jié)構(gòu):

if 條件表達(dá)式:

滿足條件時(shí)要執(zhí)行的語句塊1

else:

不滿足條件時(shí)要執(zhí)行的語句2

例如本例當(dāng)中的語句:

if isLeapYear(year): #單分支結(jié)構(gòu)

li[1]= 29

if i==1:

for j in range(space_num):

print(" ",end="")

else:

print("%2d "%i,end="")

3.4 for循環(huán)語句

for循環(huán)常見用法:

for <循環(huán)變量> in <可迭代對(duì)象或迭代器>:

循環(huán)體

for循環(huán)結(jié)構(gòu)的執(zhí)行過程見圖1。

圖1 for循環(huán)執(zhí)行流程圖

例如下面的語句:

for index_month in range(1,month):

days += monthDay(year,index_month)

3.5 range語句[3]

range() 函數(shù)是python的一個(gè)內(nèi)置函數(shù),返回的是一個(gè)可迭代對(duì)象(類型是對(duì)象),而不是列表類型,所以打印的時(shí)候不會(huì)打印列表。

語法格式為:

range(stop)

range(start,stop[,step])

參數(shù)說明:

start: 計(jì)數(shù)從 start 開始。默認(rèn)是從 0 開始。例如:range(5)等價(jià)于range(0,5);

stop: 計(jì)數(shù)到 stop 結(jié)束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]沒有5

step:步長(zhǎng),默認(rèn)為1。例如:range(0,5) 等價(jià)于 range(0,5,1)

range常常用在for循環(huán)里,先前已經(jīng)舉例,不再贅述。

3.6 eval語句的用法

eval是python的一個(gè)內(nèi)置函數(shù),參數(shù)常常是一個(gè)字符串類型,作用就是去掉字符串?dāng)?shù)據(jù)最外層的引號(hào),常常用來進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,把字符串型數(shù)據(jù)轉(zhuǎn)換成數(shù)值型數(shù)據(jù)。

例如: eval( '3 * 7') #結(jié)果是21。

4 程序的執(zhí)行結(jié)果

程序的執(zhí)行結(jié)果見圖2。

圖2 執(zhí)行效果圖

猜你喜歡
定義語言
永遠(yuǎn)不要用“起點(diǎn)”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
定義“風(fēng)格”
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語言描寫搖曳多姿
多向度交往對(duì)語言磨蝕的補(bǔ)正之道
累積動(dòng)態(tài)分析下的同聲傳譯語言壓縮
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
我有我語言
論語言的“得體”
修辭學(xué)的重大定義
主站蜘蛛池模板: 热九九精品| 国产真实乱子伦视频播放| 国产精品自在线天天看片| 久久青草视频| 欧美成人第一页| 国产亚洲视频免费播放| 国产麻豆精品在线观看| 午夜高清国产拍精品| 欧美亚洲一区二区三区在线| 欧美亚洲欧美| 国产精品自拍合集| 欧美视频二区| 国产在线观看91精品亚瑟| 99久久亚洲综合精品TS| 亚洲国产成人精品青青草原| 久草中文网| 91丝袜在线观看| 色综合久久88色综合天天提莫 | 国产精品亚洲欧美日韩久久| 亚洲AV无码一二区三区在线播放| 五月激激激综合网色播免费| 蜜芽国产尤物av尤物在线看| 亚洲精品福利视频| JIZZ亚洲国产| 色噜噜在线观看| 国产剧情无码视频在线观看| 国产精品福利在线观看无码卡| 欧美日韩另类在线| 久久人搡人人玩人妻精品| 99热最新网址| 午夜a级毛片| 国产小视频a在线观看| 婷婷色婷婷| 91视频精品| 在线观看国产精品第一区免费| 极品国产一区二区三区| 在线无码av一区二区三区| 国产欧美日韩91| 无码日韩视频| 午夜精品区| 国产美女免费网站| 欧美黑人欧美精品刺激| 成人免费午夜视频| 91成人精品视频| 天堂网国产| 99热在线只有精品| 精品国产99久久| 亚洲一区波多野结衣二区三区| 91精品日韩人妻无码久久| 色欲国产一区二区日韩欧美| 亚洲69视频| 久久一日本道色综合久久| 日韩高清成人| 亚洲人成成无码网WWW| 女人18一级毛片免费观看| 色国产视频| 亚洲欧美一区二区三区麻豆| A级毛片高清免费视频就| 亚洲人成高清| 亚洲成人网在线播放| 国产色婷婷| 伊人无码视屏| 国产欧美精品专区一区二区| 亚洲一区二区黄色| 亚洲高清资源| 中文字幕在线日本| 2021国产在线视频| 久久青草热| 日韩二区三区无| 成年人国产网站| 国产女人在线视频| 久久99国产综合精品女同| 成人91在线| 日韩A级毛片一区二区三区| 欧美啪啪一区| 免费女人18毛片a级毛片视频| 亚洲天堂网2014| 亚洲精品第一在线观看视频| 伊人久久大香线蕉影院| 九色在线观看视频| 亚洲日韩精品伊甸| 欧美亚洲国产精品第一页|