Python編程練習(xí)題60題-含答案_第1頁
Python編程練習(xí)題60題-含答案_第2頁
Python編程練習(xí)題60題-含答案_第3頁
Python編程練習(xí)題60題-含答案_第4頁
Python編程練習(xí)題60題-含答案_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Python編程練習(xí)題60題-含答案

1.如果要為代碼添加注釋以便其他同學(xué)理解,應(yīng)該將注釋放在代碼的任意一行之后,以#符號開頭。這樣可以讓其他人更容易地理解代碼的意圖和實(shí)現(xiàn)方式。2.運(yùn)行這段代碼后會輸出“April-07-171,234,567.8900”。首先,第一個(gè)print語句使用了datetime模塊中的strftime函數(shù)將日期格式化為“April-07-17”的形式。第二個(gè)print語句使用了格式化字符串來將數(shù)字格式化為帶有千位分隔符的形式,并且保留4位小數(shù)。3.為了在產(chǎn)品列表中找到目標(biāo)產(chǎn)品編號并退出程序,可以使用while循環(huán)遍歷列表,然后使用if語句檢查當(dāng)前產(chǎn)品編號是否為目標(biāo)編號。如果是目標(biāo)編號,使用break語句退出循環(huán)。如果不是目標(biāo)編號,則繼續(xù)遍歷列表。4.在找到目標(biāo)產(chǎn)品編號后,應(yīng)該使用break語句退出循環(huán),以便程序可以立即停止遍歷列表。如果不使用break語句,程序會繼續(xù)執(zhí)行下去,直到遍歷完整個(gè)列表。5.在每次循環(huán)結(jié)束后,應(yīng)該將索引值增加1,以便下一次循環(huán)可以檢查下一個(gè)產(chǎn)品編號。可以使用“index+=1”來實(shí)現(xiàn)這一點(diǎn)。6.這段代碼有一些錯(cuò)誤。首先,第一個(gè)條件應(yīng)該是“x%4==0”,而不是“x/4==0”,因?yàn)槲覀兿胍獧z查x是否是4的倍數(shù)。其次,第二個(gè)條件應(yīng)該是“x==2”,而不是“x-2<0”,因?yàn)槲覀兿胍獧z查x是否等于2。最后,第三個(gè)條件應(yīng)該是“x%3==0”,而不是“x/3==0”,因?yàn)槲覀兿胍獧z查x是否是3的倍數(shù)。1.屏幕上顯示的輸出信息是什么?答:A派對生日生日蛋糕。2.新建一個(gè)名為color的列表,包含100種顏色,你需要切片該列表,顯示第二,第四,第六…(以類推種)顏色,你會使用下列哪段代碼?答:B、colors[1::2]。3.你創(chuàng)建了以下用于尋找會議室并顯示房間名稱的程序:01rooms={1:“休息室”,2:“會議室”}02room=input(“輸入房間編號:”)03ifnotroominrooms:04print(“房間不存在!”)05else:06print(“房間名稱為”+rooms[room])同事反映該程序有時(shí)會產(chǎn)生錯(cuò)誤結(jié)果。根據(jù)代碼段回答問題:第01行的rooms清單中存儲了哪兩種數(shù)據(jù)類型?答:字符串str和整型int。4.第02行中的room的數(shù)據(jù)類型是什么?答:字符串str。5.編寫程序計(jì)算員工工作年限,并為其顯示祝賀信息。01start=input(“你在公司開始工作時(shí)幾歲?”)02end=input(“你現(xiàn)在幾歲?”)03請補(bǔ)充完善上述代碼。A、print(“恭喜入職”+(int(end)-int(start))+”周年!”)B、print(“恭喜入職”+int(end-start))+”周年!”)C、print(“恭喜入職”+str(int(end)-int(start))+”周年!”)D、print(“恭喜入職”+str(end-start))+”周年!”)答:C。6.你需要編寫一個(gè)要求客戶輸入數(shù)值的程序。即使用戶輸入的是小數(shù)值,該值也必須作為整數(shù)用于計(jì)算。你應(yīng)使用哪個(gè)代碼段?答:D、num=int(float(input(“需要多少件物品?”)))。B、frommathimportsqrtassRC、importsqrtassRD、frommath.sqrtimportsR答案解析:B12.你正在編寫一個(gè)Python程序,用于計(jì)算一個(gè)算術(shù)表達(dá)式。該表達(dá)式讀作:b等于a乘以-1的結(jié)果的平方。表達(dá)式中a是用戶輸入的值,b是運(yùn)算結(jié)果。你編寫了以下代碼段,行號僅供參考。```pythona=eval(input("Enteranumberfortheequation:"))b=-(a)**2```13.你正在為一個(gè)藝術(shù)中心的工作室編寫一個(gè)Python程序。該工作室想要鼓勵青少年和老年人報(bào)名,未成年人(minor)和老人(senior)可享受九折優(yōu)惠。```pythondefget_discount(minor,senior):discount=0.1ifnot(minororsenior):discount=0returndiscount```14.使用Python控制新玩具“和平使者”。該程序發(fā)生錯(cuò)誤,導(dǎo)致使者不停打轉(zhuǎn)。請閱讀代碼,找到錯(cuò)誤。```pythonimportmath#和平使者的默認(rèn)動作power=Truemove=0whilepower:ifmove==0:turnValue=math.pi/movemove+=5else:turnValue=0move=0```代碼中存在哪個(gè)錯(cuò)誤?答案解析:C。第7行導(dǎo)致運(yùn)行時(shí)錯(cuò)誤,原因是除數(shù)為零。15.你需要使用sqrt函數(shù)編寫程序。該程序必須以sR作為新函數(shù)名。導(dǎo)入該函數(shù)。你會使用哪個(gè)代碼段?答案解析:B。應(yīng)該使用`frommathimportsqrtassR`。抱歉,文章中沒有明顯的段落問題需要刪除。以下是每段話的小幅度改寫:1.題目要求輸出各種數(shù)據(jù)類型的類名。代碼中通過type()函數(shù)獲取變量的數(shù)據(jù)類型,并使用print()函數(shù)輸出類名。2.代碼輸出了一個(gè)浮點(diǎn)數(shù)變量的類名,即<class'float'>。3.代碼輸出了一個(gè)整數(shù)變量的類名,即<class'int'>。4.代碼輸出了一個(gè)字符串變量的類名,即<class'str'>。5.代碼輸出了一個(gè)浮點(diǎn)數(shù)變量的類名,即<class'float'>。6.代碼輸出了一個(gè)整數(shù)變量的值,即2。7.代碼輸出了一個(gè)字符串變量的值,即'hello'。8.這道題目要求編寫一個(gè)函數(shù),用于計(jì)算從2到10的乘法表并輸出??梢允褂脙蓚€(gè)嵌套的for循環(huán),分別遍歷2到10之間的數(shù)字,計(jì)算乘積并輸出。9.第一條橫線處所選代碼應(yīng)該是forcinrange(2,11)。這樣可以遍歷2到10之間的數(shù)字,包括10。10.第二條橫線處所選代碼也應(yīng)該是forrowinrange(2,11)。這樣可以遍歷2到10之間的數(shù)字,包括10。11.這道題目描述了一個(gè)程序的問題,即將每個(gè)姓名中的字符順序顛倒。需要對輸入的姓名進(jìn)行反轉(zhuǎn)操作,即將每個(gè)字符的位置倒序排列。30.以下是一個(gè)可以反轉(zhuǎn)字符串中字符順序的Python函數(shù),用于輸出正確順序的姓名:defzheng_name(fan_name):forward_name=''forindexinrange(len(fan_name)-1,-1,-1):forward_name+=fan_name[index]returnforward_nameprint(zheng_name("ykcuL"))#測試案例,應(yīng)輸出Lucky31.第二條橫線處應(yīng)該填寫fan_name[index],以便將fan_name字符串中的字符按照反向順序添加到forward_name字符串中。32.計(jì)算以下Python算術(shù)表達(dá)式:(3*(1+2)**2-(2**2)*3),結(jié)果是15。33.以下是一個(gè)計(jì)算工資表總工資和平均工資的Python代碼。第一條橫線處應(yīng)填寫(len(pay)),以便在循環(huán)中遍歷整個(gè)pay列表。pay=[15000,12000,35000,45000]count=0sum=0forindexinrange(len(pay)):count+=1sum+=pay[index]average=sum/countprint("總工資為:",sum)print("平均工資為:",average)34.第二條橫線處應(yīng)填寫sum/count,以便計(jì)算出平均工資。35.以下是一個(gè)用于處理文件的Python函數(shù)get_first_line,如果文件不存在則返回None,如果文件存在則返回第一行的內(nèi)容。importosdefget_first_line(filename):ifnotos.path.exists(filename):returnNonewithopen(filename)asfile:first_line=file.readline().strip()returnfirst_line剔除下面文章的格式錯(cuò)誤,刪除明顯有問題的段落,然后再小幅度的改寫每段話。要完成該函數(shù),你應(yīng)按什么順序排列代碼段?答:EBDCA首先應(yīng)該使用withopen打開文件,然后判斷文件是否存在。如果存在,就讀取文件的第一行并返回。如果不存在,就返回None。你需要創(chuàng)建滿足以下條件的函數(shù):該函數(shù)的名稱為score,接受當(dāng)前分?jǐn)?shù)和一個(gè)數(shù)值,將數(shù)值添加到當(dāng)前分?jǐn)?shù),并返回新分?jǐn)?shù)。代碼段:current+=value第一條橫線處所選代碼是:defscore第二條橫線處所選代碼是:(current,value):第三條橫線處填寫的代碼是:returncurrent某食品公司需要一個(gè)簡單程序,用來調(diào)查新產(chǎn)品的使用情況。該程序必須接受用戶輸入0-10分的評分,并返回平均分。輸出必須四舍五入到小數(shù)點(diǎn)后兩位。sum=count=done=0average=0.0while(done!=-1):rating=ifrating==-1:breaksum+=ratingcount+=1average=float(sum/count)第一條橫線處應(yīng)填的代碼是:float(input(“輸入評分(1-10),-1代表結(jié)束”))第二條橫線處應(yīng)填的代碼是:print(“新咖啡的平均星級為:”)C.平均星級的輸出代碼應(yīng)該為print("新咖啡的平均星級為:"+str(average))解析:選項(xiàng)C中的printline是錯(cuò)誤的函數(shù)名,應(yīng)該為print。另外,應(yīng)該將average轉(zhuǎn)換為字符串類型后再與字符串拼接輸出。41.答案為A,應(yīng)該填寫format(average,'.2f')解析:選項(xiàng)B中的格式化類型應(yīng)該為.2f,而不是.2d。選項(xiàng)C中的括號和冒號位置錯(cuò)誤,應(yīng)該為format(average,'.2f')。選項(xiàng)D中的語法錯(cuò)誤,應(yīng)該為format(average,'.2d')。42.答案為B,應(yīng)該使用open("file","r+")解析:選項(xiàng)A中的打開方式為只讀,無法進(jìn)行寫操作。選項(xiàng)C中的打開方式會清空原有內(nèi)容,再進(jìn)行寫操作。選項(xiàng)D中的打開方式也只能進(jìn)行寫操作,無法進(jìn)行讀操作。應(yīng)該使用選項(xiàng)B中的打開方式,既可以進(jìn)行讀操作,也可以進(jìn)行寫操作。43.答案為A,控制臺中會顯示“唱歌”解析:child對象調(diào)用hobby屬性時(shí),會先查找自身是否有該屬性,如果沒有則查找類屬性,因此會輸出類屬性hobby的值“唱歌”。44.答案為B,應(yīng)該使用food[1].name訪問下標(biāo)為1的name屬性解析:food是一個(gè)列表,需要使用下標(biāo)來訪問其中的元素,而不是使用類名。選項(xiàng)A中訪問的是下標(biāo)為0的元素的name屬性。選項(xiàng)C中的name后面應(yīng)該是屬性名,而不是方法名。選項(xiàng)D中的Food應(yīng)該改為food,且無法通過類名訪問列表中的元素屬性。45.答案為B,for...in...循環(huán)可以遍歷列表的元素,而不是下標(biāo)解析:for...in...循環(huán)可以遍歷列表中的元素,而不是下標(biāo)。下標(biāo)可以通過range()函數(shù)來遍歷,或者使用enumerate()函數(shù)同時(shí)遍歷下標(biāo)和元素。46.答案為B,列表是可以存儲對象的解析:列表可以存儲任何類型的對象,包括

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論