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

        ?

        天外來信

        2018-09-08 11:15:56王麗麗
        中國信息技術教育 2018年16期
        關鍵詞:利用內容

        王麗麗

        情境導入

        忽然有一天,阿派收到一封外面世界的來信,他迫不及待地開始讀信,卻發(fā)現(xiàn)信件內容全是一串一串的數(shù)字……

        在這一課中,學生將學習如何利用Python讀寫文件及其拓展應用。

        讀信

        在阿派讀信之前,先來了解一下Python是如何讀取文件的。

        1.Python讀取文件

        (1)讀取文件的簡單示例

        關于文件的基本處理主要有文件的打開、操作和關閉。如表1,利用open()打開letter.txt文件,并返回一個名為f的文件對象。其中,打開文件的模式有只讀、寫入、追加等,默認的文件訪問模式為只讀(r)。表1的程序運行后,將會讀取如圖1的文件letter.txt,運行的結果如圖2。

        (2)read()方法

        當read()的括號內為空或負數(shù)時,將讀取文件的所有內容。如果調用f.read(size),size是一個可選的數(shù)字類型的參數(shù),則將讀取指定的數(shù)據(jù)。比如,將表1的第3行代碼修改為print(f.read(5)),則程序運行結果如圖3。

        (3)readline()方法

        f.readline()會從文件中讀取當前指針下一行內容的字符串。比如,將表1的第3行代碼修改為print(f.readline()),則程序運行結果如下頁圖4。如果將第3行修改為2行readline(),則運行效果如下頁圖5,由于print默認換行,會在輸出一行字符串后產生一行空行。如果不想產生空行,則將代碼修改為print(f.readline(), end=''),其中的end=''表示print輸出之后不換行。

        (4)readlines()方法

        f.readlines()將返回整個文件內容的列表,每一項是以換行符結尾的一行字符串。比如,將表1的第3行代碼修改為print(f.readlines()),則程序運行結果如下頁圖6。

        (5)for line in f:的作用

        如下頁表2,利用for line in f:可以實現(xiàn)文件的遍歷。這種做法在讀取文件時,不是一次性讀取全部文件,而是采用每次讀取一行的方式。

        關于文件的讀取模式,除了r(只讀)模式以外,還有rb模式,表示以二進制格式打開一個文件用于只讀。另外,還有r+模式,表示打開一個文件用于讀寫。還有rb+模式,可以用二進制格式打開一個文件用于讀寫。以上四種模式,文件指針都會放在文件的開頭。

        2.破譯天外來信

        在了解了Python讀取文件的基本操作后,我們和阿派一起來解讀那封全是數(shù)字的信件。信件的內容如下頁圖7,為十行數(shù)字。如果按照一定的規(guī)則來讀信,可以將其解讀為如圖8的圖案。具體的規(guī)則是:每一行為一組數(shù)據(jù)。第1個數(shù)字表示前進的像素;第2個數(shù)字為0表示左轉,1表示右轉;第3個數(shù)字表示旋轉角度;第4~6個數(shù)字分別表示RGB顏色。據(jù)此規(guī)則,第1行數(shù)字表示向默認的水平向右的方向繪制一條紅色的直線,再向右旋轉144度。

        結合turtle庫,利用如圖9的核心代碼,可以實現(xiàn)如圖8的信件圖案的繪制效果。其中的第4行代碼中,line.split(‘,)表示以逗號區(qū)分間隔,對字符串切片。map(float,line.split(‘,))表示對指定序列做映射,將每一個元素轉為浮點數(shù)。list表示將結果保存為列表,比如[300.0, 1.0, 144.0, 1.0, 0.0, 0.0]。result.append表示追加到result列表中。第5行代碼將讀取的信件內容輸出至屏幕,效果如圖10。第6~12行代碼實現(xiàn)了繪制圖案的過程。

        對于信件中的那一串串數(shù)字,我們還可以使用不同的規(guī)則來解讀,當然所繪制的圖案也就不同。

        回信

        1.Python寫入文件

        利用write()方法,可以將數(shù)據(jù)寫入指定文件中。如圖11,先打開已有文件或新建一個空白的文本文檔reply.txt,利用input函數(shù)提示用戶輸入回信內容,并將輸入的字符串寫入reply文件,再讀取信件內容,并關閉文件。其中,f.seek(0)表示重新設置文件讀取指針到開頭。如圖12,利用a+模式還可以追加信件內容。

        常用的文件寫入模式有w模式,表示打開一個文件且只能寫入。如圖11中w+模式表示打開一個文件用于讀寫。w和w+模式下,如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。圖12的a+模式表示打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾,即追加模式。如果該文件不存在,則創(chuàng)建新文件用于讀寫。

        2.回信

        第119頁的圖11~12的文件寫入方式,都只能寫入一行數(shù)據(jù)。一般情況下,正式的寫信,需要輸入多行文本,直至輸入為空時,表示寫信結束。如第119頁圖13,我們可以利用while循環(huán)語句實現(xiàn)多行回信的功能。而在按下兩次回車鍵后,即輸入為空時,會返回信件內容(如第119頁圖14)。

        參照阿派破譯數(shù)字信件的過程,你也可以逆向設計,將回信內容設置為幾行數(shù)字,并按照特定規(guī)則來讀取,實現(xiàn)特定的圖案效果。

        在Python中的文件讀寫,還有其他的拓展應用,如讀取Excel文件,或者利用matplotlib第三方庫來繪制2D圖表等,你可以根據(jù)實際需要來進行設計和應用。

        猜你喜歡
        利用內容
        內容回顧溫故知新
        科學大眾(2022年11期)2022-06-21 09:20:52
        利用min{a,b}的積分表示解決一類絕對值不等式
        內容回顧 溫故知新
        科學大眾(2021年21期)2022-01-18 05:53:48
        利用倒推破難點
        內容回顧溫故知新
        科學大眾(2021年17期)2021-10-14 08:34:02
        利用一半進行移多補少
        利用數(shù)的分解來思考
        Roommate is necessary when far away from home
        利用
        主要內容
        臺聲(2016年2期)2016-09-16 01:06:53
        日本a级片免费网站观看| 国产日韩久久久久69影院| 丰满人妻一区二区三区免费 | 日韩毛片免费无码无毒视频观看| 美女视频一区| 日韩精品首页在线观看 | 日本高清在线一区二区三区| 亚洲日本中文字幕天天更新| 一级一级毛片无码免费视频| 久久精品日韩免费视频| 少妇精品亚洲一区二区成人| 国产高清一区二区三区视频| 国产麻豆一精品一AV一免费软件| 青青草绿色华人播放在线视频| 99国产精品久久99久久久| 夜夜未满十八勿进的爽爽影院| 欧美日韩国产成人综合在线影院| 亚洲av色精品国产一区二区三区 | 国产极品女主播国产区| 国产免费又色又爽又黄软件| 26uuu欧美日本在线播放| 偷拍韩国美女洗澡一区二区三区| 国产精品人妻一区二区三区四| 欧美人与物videos另类xxxxx| 黄色av三级在线免费观看| av网站在线观看大全| 米奇777四色精品人人爽| 无码av免费永久免费永久专区| 熟女不卡精品久久av| 粉嫩小泬无遮挡久久久久久| 欧美 国产 日产 韩国 在线| 中文人妻av大区中文不卡| 国产一区亚洲二区三区极品| 4399理论片午午伦夜理片| 无码国产精品一区二区免费网曝| 日本一区二区三区一级片| 亚洲国产精品无码久久久| 久久成人麻豆午夜电影| 99熟妇人妻精品一区五一看片| 一区二区三区美女免费视频| 亚洲av电影天堂男人的天堂|