亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        王 娜

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

        1 引言

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

        2 萬年歷制作思路

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

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

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

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

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

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

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

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

        3 程序所用到的語法

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

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

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

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

        函數(shù)定義語法:

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

        '''注釋'''

        函數(shù)體

        函數(shù)的調(diào)用和其他語言一樣,只要寫出函數(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ù)時需注意以下幾個問題:

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

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

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

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

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

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

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

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

        x = input('提示:')

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

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

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

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

        objects是輸出的對象;

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

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

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

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

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

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

        3.3 if語句

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

        if 條件表達式:

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

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

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

        if 條件表達式:

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

        else:

        不滿足條件時要執(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 <可迭代對象或迭代器>:

        循環(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的一個內(nèi)置函數(shù),返回的是一個可迭代對象(類型是對象),而不是列表類型,所以打印的時候不會打印列表。

        語法格式為:

        range(stop)

        range(start,stop[,step])

        參數(shù)說明:

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

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

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

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

        3.6 eval語句的用法

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

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

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

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

        圖2 執(zhí)行效果圖

        猜你喜歡
        定義語言
        永遠不要用“起點”定義自己
        海峽姐妹(2020年9期)2021-01-04 01:35:44
        定義“風(fēng)格”
        語言是刀
        文苑(2020年4期)2020-05-30 12:35:30
        讓語言描寫搖曳多姿
        多向度交往對語言磨蝕的補正之道
        累積動態(tài)分析下的同聲傳譯語言壓縮
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        我有我語言
        論語言的“得體”
        語文知識(2014年10期)2014-02-28 22:00:56
        修辭學(xué)的重大定義
        久久综合精品人妻一区二区三区| аⅴ天堂一区视频在线观看| 亚洲综合原千岁中文字幕| 亚洲av色福利天堂久久入口| 久久精品亚洲精品国产色婷| 欧洲极品少妇| 国产成人免费一区二区三区| 免费高清日本一区二区| 成人国产一区二区三区| 亚洲日韩av无码| 亚洲美女影院| 二区三区视频在线观看| 一区二区三区免费看日本| 亚洲七久久之综合七久久| 一级午夜视频| 中文字幕二区三区在线| 精品人妖一区二区三区四区| 久久久国产精品黄毛片| 久久se精品一区精品二区国产| 亚洲av色香蕉第一区二区三区| 国产精品一区二区三区自拍| 一边吃奶一边摸做爽视频| 亚洲中文字幕无码久久2018| 夜色视频在线观看麻豆| 插鸡网站在线播放免费观看| 国产无遮挡裸体免费视频| 亚洲中文字幕巨乳人妻| 久久婷婷综合色一区二区| 久久伊人少妇熟女大香线蕉| 漂亮人妻被黑人久久精品| 国产一级片内射在线视频| 国产精品成人一区二区不卡| 日韩美腿丝袜三区四区| 人妻少妇久久久久久97人妻| 精品无码国产污污污免费网站| 国产精品玖玖资源站大全| 最新国产女主播在线观看| 亚洲精品久久久久中文字幕一福利 | 爆乳无码AV国内| 青青草激情视频在线播放| 久久视频在线|