日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

in python you can_Python编程:从入门到实践——【作业】——第十章(文件和异常)...

發(fā)布時間:2023/12/10 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 in python you can_Python编程:从入门到实践——【作业】——第十章(文件和异常)... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第十章

10-1 Python學(xué)習(xí) 筆記 : 在文本編輯器中新建一個文件, 寫幾句話來總結(jié)一下你至此學(xué)到的Python知識, 其中每一行都以“In Python you can”打頭。 將這個文件命名為learning_python.txt, 并將其存儲到為完成本章練習(xí)而編寫的程序所在的目 錄中。 編寫一個程序, 它讀取這個文件, 并將你所寫的內(nèi)容打印三次: 第一次打印時讀取整個文件; 第二次打印時遍歷文件對象; 第三次打印時將各行存儲在一個列表中, 再在with 代碼塊外打印它們。

10-2 C語言學(xué)習(xí) 筆記 : 可使用方法replace( ) 將字符串中的特定單詞都替換為另一個單詞。 下面是一個簡單的示例, 演示了如何將句子中的' dog' 替換為' cat'

>>> message = "I really like dogs. "

>>> message. replace(' dog' , ' cat' )

' I really like cats. '

讀取你剛創(chuàng)建的文件learning_python.txt中的每一行, 將其中的Python都替換為另一門語言的名稱, 如C。 將修改后的各行都打印到屏幕上。

10-1

#learning_python.tx

In Python you can learn variable

In Python you can learn list

In Python you can learn Operation list

In Python you can learn dictionary

In Python you can learnclass

#第一次打印時讀取整個文件

with open('learning_python.txt') as file_object:

contents=file_object.read()print(contents)#第二次打印時遍歷文件對象

filename = 'learning_python.txt'with open(filename) as file_object:for line infile_object:print(line. rstrip())#第三次打印時將各行存儲在一個列表中

filename = 'learning_python.txt'with open (filename) as file_object:

lines=file_object.readlines()for line inlines:print(line. rstrip() )

輸出結(jié)果:

In Python you can learn variable

In Python you can learn list

In Python you can learn Operation list

In Python you can learn dictionary

In Python you can learnclass

10-2

filename = 'learning_python.txt'with open (filename) as file_object:

lines=file_object.readlines()for line inlines:

c= line.replace('Python', 'c++')print(c)#輸出:

In c++you can learn variable

In c++you can learn list

In c++you can learn Operation list

In c++you can learn dictionary

In c++ you can learn class

10-3訪客 : 編寫一個程序, 提示用戶輸入其名字; 用戶作出響應(yīng)后, 將其名字寫入到文件guest.txt中。

10-4訪客名單 : 編寫一個while 循環(huán), 提示用戶輸入其名字。 用戶輸入其名字后, 在屏幕上打印一句問候語, 并將一條訪問記錄添加到文件guest_book.txt中。 確保這

個文件中的每條記錄都獨占一行。

10-5關(guān)于編程的調(diào)查 : 編寫一個while 循環(huán), 詢問用戶為何喜歡編程。 每當用戶輸入一個原因后, 都將其添加到一個存儲所有原因的文件中。

10-3

filename = 'learning_python.txt'with open(filename,'w') as file_object:

message= input('請輸入名字:')

file_object.write(message)#輸出:

請輸入名字:cc

cc

10-4

filename = 'learning_python.txt'with open(filename,'a') as file_object:whileTrue:

message= input('請輸入名字:')if message == 'q':break

else:print('Hello' +message)

file_object.write('\nHello' +message)#如果這里的縮進和while一樣,那么輸出的只有q的信息,如果和if一樣,則輸出的信息都有

#輸出:

請輸入名字:qq

Hello qq

請輸入名字:cc

Hello cc

請輸入名字:q#文本信息:

Hello qq

Hello cc

10-5

filename = 'learning_python.txt'with open(filename,'a') as file_object:whileTrue:

message= input('Why do you like programming:')if message == 'q':break

else:print('Reason' +message)

reason= ''reason+=messageprint(reason)

file_object.write('\nReason' +reason)#如果這里的縮進和while一樣,那么輸出的只有q的信息,如果和if一樣,則輸出的信息都有

10-6加法運算 : 提示用戶提供數(shù)值輸入時, 常出現(xiàn)的一個問題是, 用戶提供的是文本而不是數(shù)字。 在這種情況下, 當你嘗試將輸入轉(zhuǎn)換為整數(shù)時, 將引

發(fā)TypeError 異常。 編寫一個程序, 提示用戶輸入兩個數(shù)字, 再將它們相加并打印結(jié)果。 在用戶輸入的任何一個值不是數(shù)字時都捕獲TypeError 異常, 并打印一

條友好的錯誤消息。 對你編寫的程序進行測試: 先輸入兩個數(shù)字, 再輸入一些文本而不是數(shù)字。

10-7加法計算器 : 將你為完成練習(xí) 10-6而編寫的代碼放在一個while 循環(huán)中, 讓用戶犯錯(輸入的是文本而不是數(shù)字) 后能夠繼續(xù)輸入數(shù)字。

10-8貓和狗 : 創(chuàng)建兩個文件cats.txt和dogs.txt, 在第一個文件中至少存儲三只貓的名字, 在第二個文件中至少存儲三條狗的名字。 編寫一個程序, 嘗試讀取這些文件,

并將其內(nèi)容打印到屏幕上。 將這些代碼放在一個try-except 代碼塊中, 以便在文件不存在時捕獲FileNotFound 錯誤, 并打印一條友好的消息。 將其中一個文件

移到另一個地方, 并確認except 代碼塊中的代碼將正確地執(zhí)行。

10-9沉默的貓和狗 : 修改你在練習(xí) 10-8中編寫的except 代碼塊, 讓程序在文件不存在時一言不發(fā)。

10-10常見單詞 : 訪問項目 Gutenberg( http://gutenberg.org/ ) , 并找一些你想分析的圖書。 下載這些作品的文本文件或?qū)g覽器中的原始文本復(fù)制到文本文件中。

你可以使用方法count( ) 來確定特定的單詞或短語在字符串中出現(xiàn)了多少次。 例如, 下面的代碼計算' row' 在一個字符串中出現(xiàn)了多少次:

>>> line = "Row, row, row your boat"

>>> line. count(' row' )

2>

>> line. lower() . count(' row' )

3

10-6

try:

inp_msg= input('請輸入數(shù)字:')

inp_msg_toInt=int(inp_msg)exceptValueError:print('只能輸入整型')else:print(inp_msg_toInt)#輸出:

請輸入數(shù)字:2

2

#或者

請輸入數(shù)字:e

只能輸入整型

10-7

whileTrue:try:

inp_msg= input('請輸入數(shù)字:')

inp_msg_toInt=int(inp_msg)exceptValueError:print('只能輸入整型')else:print(inp_msg_toInt)break#在這里break好啊,為了能夠一直循環(huán)上面的輸入

#輸出

請輸入數(shù)字:e

只能輸入整型

請輸入數(shù)字:w

只能輸入整型

請輸入數(shù)字:2

2

10-8

錯誤答案

##########讀、寫、清屏函數(shù),不用try,直接造##################

f_name_a = 'msg/cats.txt'f_name_b= 'msg/dogs.txt'

defwrite(f_name_x,msg):

with open(f_name_x,'a') as f:

f.write(msg)defread(f_name_x):

with open(f_name_x) as f:

con=f.read()print(con.rstrip())defclear(f_name_x):

with open(f_name_x,'w') as f:

f.truncate()

clear(f_name_a)

clear(f_name_b)

write(f_name_a,'cat1\n')

write(f_name_a,'cat2\n')

write(f_name_a,'cat3\n')

write(f_name_b,'dog1\n')

write(f_name_b,'dog2\n')

write(f_name_b,'dog3\n')

read(f_name_a)

read(f_name_b)#輸出

File "C:/Python36/day10/s1.py", line 18, inclear

with open(f_name_x,'w') as f:

FileNotFoundError: [Errno2] No such file or directory: 'msg/cats.txt'

正確答案

##########正確答案############

defopen_file(f_name):try:

with open(f_name) as f_n:

con=f_n.read()exceptFileNotFoundError:print('404 not found!')else:print(con.rstrip())

ur_list= [ 'msg/cats.txt', 'msg/dogs.txt']for i inur_list:

open_file(i)#輸出:

404 notfound!404 not found!

10-9

defopen_file(f_name):try:

with open(f_name) as f_n:

con=f_n.read()exceptFileNotFoundError:pass

else:print(con.rstrip())

ur_list= [ 'msg/cats.txt', 'msg/dogs.txt']for i inur_list:

open_file(i)

10-10l略

10-11喜歡的數(shù)字 : 編寫一個程序, 提示用戶輸入他喜歡的數(shù)字, 并使用j son. dump( ) 將這個數(shù)字存儲到文件中。 再編寫一個程序, 從文件中讀取這個值, 并打印

消息“I know your favorite number! It's _____.”。

10-12記住喜歡的數(shù)字 : 將練習(xí) 10-11中的兩個程序合而為一。 如果存儲了用戶喜歡的數(shù)字, 就向用戶顯示它, 否則提示用戶輸入他喜歡的數(shù)字并將其存儲到文件中。

運行這個程序兩次, 看看它是否像預(yù)期的那樣工作。

10-13驗證用戶 : 最后一個remember_me.py版本假設(shè)用戶要么已輸入其用戶名, 要么是首次運行該程序。 我們應(yīng)修改這個程序, 以應(yīng)對這樣的情形: 當前和最后一次

運行該程序的用戶并非同一個人。

為此, 在greet_user( ) 中打印歡迎用戶回來的消息前, 先詢問他用戶名是否是對的。 如果不對, 就調(diào)用get_new_username( ) 讓用戶輸入正確的用戶名。

10-11

importjson

f_name= 'msg/inp_10_11.json'msg_inp= input('請輸入您喜歡的數(shù)字:')

with open(f_name,'w') as fn:

json.dump(msg_inp,f_n)#數(shù)字存儲到文件中

with open(f_name) as fn1:

c= json.load(f_n)#文件中讀取這個值

print('I know your favorite number! It\'s'+ c)

10-12

filename = 'msg/fav_numb.json'

try:

with open(filename) as f_obj:

fav_num=json.load(f_obj)exceptFileNotFoundError:

fav_num= input("請輸入你喜歡的數(shù)字:")

with open(filename,'a') as f_obj:

json.dump(fav_num, f_obj)print("你喜歡的數(shù)字:" + fav_num + "!")else:print("你喜歡的數(shù)字:" + fav_num + "!")

10-13

importjsondefget_sorted_username():"""如果存儲了用戶名,就獲取它"""filename= 'username.json'

try:

with open(filename) as f_obj:

username=json.load(f_obj)exceptFileNotFoundError:returnNoneelse:returnusernamedefget_new_username():"""提示用戶輸入用戶名"""username= input("What is your name?")

filename= 'username.json'with open(filename,'w') as f_obj:

json.dump(username, f_obj)returnusernamedefgreet_user():"""問候用戶, 并指出其名字"""username=get_sorted_username()ifusername:

result= input(username + "is right?")if result == 'y':print("Welcom back,", username, "!")else:

username=get_new_username()print("Welcom back,", username, "!")else:

username=get_new_username()print("We'll remember you when you come back,", username, "!")if __name__ == "__main__":#表示執(zhí)行的是此代碼所在的文件

greet_user()

如果是的話

#輸出

cccccis right?y

Welcom back, ccccc !

如果不是的話

#輸出:

caofuis right?w

Whatisyour name?wangshi

Welcom back, wangshi !###文件里信息###

"wangshi"

總結(jié)

以上是生活随笔為你收集整理的in python you can_Python编程:从入门到实践——【作业】——第十章(文件和异常)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。