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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python編程練習題60題-含答案

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

溫馨提示

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

最新文檔

評論

0/150

提交評論