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

天外來信

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

王麗麗

情境導入

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

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

讀信

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

1.Python讀取文件

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

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

(2)read()方法

當read()的括號內為空或負數時,將讀取文件的所有內容。如果調用f.read(size),size是一個可選的數字類型的參數,則將讀取指定的數據。比如,將表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:可以實現文件的遍歷。這種做法在讀取文件時,不是一次性讀取全部文件,而是采用每次讀取一行的方式。

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

2.破譯天外來信

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

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

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

回信

1.Python寫入文件

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

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

2.回信

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

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

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

猜你喜歡
利用內容
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
利用min{a,b}的積分表示解決一類絕對值不等式
中等數學(2022年2期)2022-06-05 07:10:50
內容回顧 溫故知新
科學大眾(2021年21期)2022-01-18 05:53:48
利用倒推破難點
內容回顧溫故知新
科學大眾(2021年17期)2021-10-14 08:34:02
利用一半進行移多補少
利用數的分解來思考
Roommate is necessary when far away from home
利用
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
主站蜘蛛池模板: AV在线天堂进入| 久久77777| 波多野衣结在线精品二区| 蜜桃视频一区| 国产91熟女高潮一区二区| 日本人妻一区二区三区不卡影院| 91在线免费公开视频| 一本大道在线一本久道| 91精品啪在线观看国产60岁 | 久久综合色播五月男人的天堂| 91破解版在线亚洲| 91福利免费视频| 中文字幕人成人乱码亚洲电影| 久久黄色小视频| 久草国产在线观看| 天天综合网站| 无码福利视频| 国产日韩欧美在线播放| 国产精品yjizz视频网一二区| 成人a免费α片在线视频网站| 久久a毛片| 制服丝袜亚洲| 黄片在线永久| 国产精品手机在线观看你懂的| 中文字幕无线码一区| 免费国产黄线在线观看| 国产好痛疼轻点好爽的视频| 国产一国产一有一级毛片视频| 亚洲国产成人自拍| 欧美一区二区精品久久久| 亚洲日韩精品无码专区| h网址在线观看| 91 九色视频丝袜| 欧美a在线视频| 大学生久久香蕉国产线观看| 国产成人精品18| 草草影院国产第一页| 一区二区无码在线视频| 国产高清不卡视频| 男女精品视频| 国产福利一区视频| 国产网友愉拍精品视频| 激情无码视频在线看| 久久成人免费| 久久综合结合久久狠狠狠97色| 成人午夜天| 亚洲天堂.com| 精品一区国产精品| 亚洲精品图区| 91久久偷偷做嫩草影院电| 国产精品极品美女自在线| 在线免费亚洲无码视频| 免费可以看的无遮挡av无码 | 99热这里只有成人精品国产| 国产麻豆91网在线看| 久久黄色视频影| 亚洲精品日产精品乱码不卡| 亚洲日本www| 国产尹人香蕉综合在线电影| 国产国产人成免费视频77777| 亚洲国产成人麻豆精品| 久久99热这里只有精品免费看| 国产无码在线调教| 欧美午夜性视频| 麻豆a级片| 久久精品66| 色婷婷久久| 亚洲男人的天堂在线观看| 欧美一级专区免费大片| 一区二区影院| 亚洲美女高潮久久久久久久| 久久综合色天堂av| 日韩精品毛片| 97av视频在线观看| 欧美成人二区| 中国国产一级毛片| 国产91麻豆免费观看| 精品久久国产综合精麻豆| 午夜精品久久久久久久无码软件 | 亚洲Aⅴ无码专区在线观看q| 内射人妻无码色AV天堂| 极品尤物av美乳在线观看|