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

基于Python語言的萬年歷功能的實現

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

王 娜

(衡水學院 河北 衡水 053000)

1 引言

Python的含義是“蟒蛇”,它的擁有者是“Python Software Foundation”,簡稱PSF,最開始是由Guido van Rossum所開發,發展至今已有30年了。Python語言擁有高效的易于操作的數據結構,是一門解釋性語言。Python語言具有豐富的標準庫和第三方庫,由于它的開放性,第三方庫還在不斷的增加當中,可以解決生活中方方面面的問題。目前Python廣泛應用于機器學習、數據分析和網絡爬蟲等方面。

2 萬年歷制作思路

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

制作萬年歷之前,必須做以下準備。

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

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

(3)統計出從1900年1月1日到上個月的天數之和:

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月份的日歷,首先計算一下從1900年1月1日開始,到2021年2月底一共多少天。為什么要從1900年的1月1日開始算呢?因為這一天是星期一。從這一天開始,也是為了后續的日期比較好計算是星期幾。

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

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

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

3 程序所用到的語法

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

3.1 函數的定義和調用[1]

Python語言將可能需要反復執行的代碼封裝為函數,并在需要該功能的地方進行調用,不僅可以實現代碼復用,更重要的是可以保證代碼的一致性,只需要修改該函數代碼,則所有調用均受到影響。

在實際項目開發中,往往會把一些通用的函數封裝到一個模塊中,并把這個通用模塊文件放到頂層文件夾中,這樣更方便管理。

函數定義語法:

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

'''注釋'''

函數體

函數的調用和其他語言一樣,只要寫出函數名和實參就可以了。

例如,生成斐波那契數列的函數定義和調用

def fib(n): # 函數頭部

a,b = 0,1 # 函數體,也是反復執行的語句

while a < n:

print(a,end=' ')

a,b = b,a+b

print()

fib(1000) #函數的調用在定義函數時需注意以下幾個問題:

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

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

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

(4)函數體相對于def關鍵字必須保持一定的空格縮進;

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

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

3.2 input函數和print函數[2]

用Python進行程序設計,輸入是通過input( )函數來實現的,input函數的一般格式為:

x = input('提示:')

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

Python 3.x中使用print()函數進行輸出。

print()函數的格式如下:

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

objects是輸出的對象;

sep是對象之間插入的分隔符,默認是空格;

end是添加在輸出文本最后的一個字符,默認是換行符;

file指定輸出內容發送到的文件,默認是顯示器;

flush指定輸出的內容是否立即寫文件。

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

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

3.3 if語句

(1)If語句的單分支結構:

if 條件表達式:

滿足條件時要執行的語句塊

注意:同一語句塊的所有語句縮進相同。

(2)If語句的雙分支結構:

if 條件表達式:

滿足條件時要執行的語句塊1

else:

不滿足條件時要執行的語句2

例如本例當中的語句:

if isLeapYear(year): #單分支結構

li[1]= 29

if i==1:

for j in range(space_num):

print(" ",end="")

else:

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

3.4 for循環語句

for循環常見用法:

for <循環變量> in <可迭代對象或迭代器>:

循環體

for循環結構的執行過程見圖1。

圖1 for循環執行流程圖

例如下面的語句:

for index_month in range(1,month):

days += monthDay(year,index_month)

3.5 range語句[3]

range() 函數是python的一個內置函數,返回的是一個可迭代對象(類型是對象),而不是列表類型,所以打印的時候不會打印列表。

語法格式為:

range(stop)

range(start,stop[,step])

參數說明:

start: 計數從 start 開始。默認是從 0 開始。例如:range(5)等價于range(0,5);

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

step:步長,默認為1。例如:range(0,5) 等價于 range(0,5,1)

range常常用在for循環里,先前已經舉例,不再贅述。

3.6 eval語句的用法

eval是python的一個內置函數,參數常常是一個字符串類型,作用就是去掉字符串數據最外層的引號,常常用來進行數據類型的轉換,把字符串型數據轉換成數值型數據。

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

4 程序的執行結果

程序的執行結果見圖2。

圖2 執行效果圖

猜你喜歡
定義語言
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
定義“風格”
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語言描寫搖曳多姿
多向度交往對語言磨蝕的補正之道
累積動態分析下的同聲傳譯語言壓縮
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
我有我語言
論語言的“得體”
語文知識(2014年10期)2014-02-28 22:00:56
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 在线五月婷婷| 国产成人精品一区二区三区| 久久毛片网| 国产精品视频观看裸模 | 久久国产拍爱| 成年人久久黄色网站| 又粗又硬又大又爽免费视频播放| 中文字幕一区二区视频| 最新日本中文字幕| 亚洲国产中文在线二区三区免| 黄色国产在线| 国产精品99r8在线观看| 亚洲国产成人在线| 在线免费观看AV| 热热久久狠狠偷偷色男同| 视频国产精品丝袜第一页| 曰AV在线无码| 国语少妇高潮| 成人字幕网视频在线观看| 亚洲女同一区二区| 播五月综合| 久青草网站| 干中文字幕| 亚洲黄色片免费看| 四虎国产精品永久一区| 国产精品无码一二三视频| 性做久久久久久久免费看| 男人的天堂久久精品激情| 国产美女叼嘿视频免费看| 亚洲人成电影在线播放| 国产91熟女高潮一区二区| 亚洲无码91视频| av在线5g无码天天| 日本高清免费不卡视频| 特级精品毛片免费观看| 噜噜噜综合亚洲| 国产成人亚洲毛片| 国产精品va| 国产青青操| 午夜无码一区二区三区| igao国产精品| 激情无码字幕综合| 国产麻豆va精品视频| 五月激激激综合网色播免费| 国产极品美女在线| 亚洲无限乱码| 国产综合亚洲欧洲区精品无码| 午夜天堂视频| 久久国产精品嫖妓| 亚洲高清在线播放| 一区二区三区高清视频国产女人| 九九九精品视频| 黄色三级毛片网站| a毛片免费观看| 国产一级片网址| 日韩中文字幕亚洲无线码| 狠狠ⅴ日韩v欧美v天堂| 午夜视频免费试看| 一级毛片在线免费视频| 亚洲色欲色欲www在线观看| 18禁高潮出水呻吟娇喘蜜芽| 99视频在线观看免费| 国产精品手机在线观看你懂的| 伊人精品视频免费在线| 91免费观看视频| 最新国产麻豆aⅴ精品无| 国产手机在线小视频免费观看| 国产色网站| 精品国产99久久| 亚洲无码37.| 人人看人人鲁狠狠高清| 亚洲va视频| 亚洲国产综合精品中文第一| A级全黄试看30分钟小视频| 欧美国产综合视频| 99热这里只有精品免费国产| 婷婷久久综合九色综合88| 国产精品爽爽va在线无码观看| 亚洲免费播放| 亚洲色图欧美视频| 日本91视频| 在线一级毛片|