下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1.101描述參照代碼模板完善代碼,實現(xiàn)下述功能。輸入一個字符串,其中的字符由(英文)逗號隔開,編程將所有字符連成一個字符串,輸出顯示在屏幕上。輸入輸出示例輸入輸出示例1解,3,4,512345習(xí)題講解答案:ls=input(請輸入一個字符串,由逗號隔開每個字符:).split(,)(1)print(.join(ls)(2)要點:1 .題目要求輸入的字符用逗號隔開,所以,需要用到split(,)來從字符串里提取所輸入的字符2.經(jīng)過split()函數(shù)的字符用,返回的是列表3.字符串有個操作函數(shù)是str.join(ls),可以把列表里的各個元素,用str的內(nèi)容連接起來。本題利用了空字符串來調(diào)用這個
2、函數(shù),因此,達(dá)到了所想要的效果:將帶有逗號的字符串變換成了沒有逗號的字符串。4 .有一個不可忽視的地方是join()函數(shù)的括號里的參數(shù)是列表,如果忘了這一點,會犯錯5.這個功能利用好了,可以拓展,解決其他的問題。2.102描述參照代碼模板完善代碼,實現(xiàn)下述功能。有一個列表studs如下:studs=sid:103,Chinese:90,Math:95,English:92,sid:101,Chinese:80,Math:85,English:82,sid:102,Chinese:70,Math:75,English:72將列表studs的數(shù)據(jù)內(nèi)容提取出來,放到一個字典scores里,在屏幕上按
3、學(xué)號從小到大的順序顯示輸出scores的內(nèi)容。內(nèi)容示例如下:101:85,82,80102:75,72,70103:95,92,90輸入輸出不例輸入輸出示例1無101:85,82,80102:75,72,70103:95,92,90習(xí)題講解答案:studs=sid:103,Chinese90,Math:95,English:92,sid:101,Chinese80,Math:85,English:82,sid:102,Chinese70,Math:75,English:72scores=forstudinstuds:sv=stud.items()v=foritinsv:ifit0=sid:k=
4、it1else:v.append(it1)scoresk=v#print(scores)so=list(scores.items()so.sort(key=lambdax:x0,reverse=False)forlinso:print(:.format(l0,l1)studs=sid:103,Chinese:90,Math:95,English:92,sid:101,Chinese:80,Math:85,English:82,sid:102,Chinese:70,Math:75,English:72lit=foriinstuds:lst=a=i.get(sid)lst.append(i.get
5、(Chinese)lst.append(i.get(Math)lst.append(i.get(English)lst.sort(reverse=True)lat=lat.append(a+:)lat.append(str(lst)lit.append(lat)lit.sort()foriinlit:print(.join(i)要點:1 .字典作為元素,定義在列表里,用列表的遍歷就可以從中提取出來2.提取出來的元素直接就是字典,因此可以用items()直接獲取,形成鍵值對對象集合sv;3.對鍵值對對象集合sv遍歷,就可以以元組it的方式訪問其中的每一對鍵值對,sv=stud.items(),是
6、第一個空的答案;4 .題目要求提取學(xué)生的學(xué)號,所以需要比較鍵it0是否是sid,是則將學(xué)號it1提取出來作為新的字典scores的鍵k;不是則將成績提取出來作為新字典scores的值v;5 .由于課程是多門,因此新字典scores的值v需要以列表的方式,保存各門課程的成績,所以在不是的情況下, 新字典scores的值v是利用append(it1)的方式, 追加到列表的后面;6 .對v做append操作,必須要事先定義v是一個空列表;因此需要在對每一條舊字典stud而鍵值對信息做處理的foritinsv:語句之前,用v=初始化v為一個空列表;7 .經(jīng)過對一條字典stud的處理, 就形成一對k和v
7、,所以接下來是給新字典scores添加一條鍵值對,scoresk=v,是第二個空的答案8 .經(jīng)過對全部的studs列表里的各條字典處理完之后,新的scores字典就全部生成。9.題目要求按學(xué)號從小到大的順序輸出學(xué)號和成績,所以需要對字典的鍵值對_內(nèi)容items()提取到列表so里,此處是第三個空的答案:so=list(scores.items()10.用Lambda函數(shù)進(jìn)行排序。這個不在考試范圍里,所以代碼模板直接給出語句;11.對排好序的列表輸出每組列表,這個直接給出語句,不再贅述。3.103描述參照代碼模板完善代碼,實現(xiàn)下述功能。從鍵盤輸入一個用于填充的圖符,一個字符串,一個要顯示的字符串
8、的總長度;編程將輸入的字符串,居中輸出顯示在屏幕上,用填充圖符補齊到輸入的總長度。如果總長度處輸入的不是正整數(shù),則提示請輸入一個正整數(shù),并重新提示輸入,直至輸入正整數(shù)。輸入:請輸入填充符號:請輸入要顯示的字符串:qq請輸入字符串總長度:r請輸入一個正整數(shù)請輸入字符串總長度:3.4請輸入一個正整數(shù)請輸入字符串總長度:4輸出:qq輸入輸出不例輸入示例1qq4習(xí)題講解答案:#請在處填寫一行代碼#請在處填寫多行代碼#不要修改已給出代碼a=input()#請輸入填充符號c=input()#請輸要顯示的字符串輸出qqflag=1whileflag:try:b=eval(input()#請輸入字符串總長度e
9、xcept:flag=1print(請輸入一個正整數(shù))else:iftype(b)=intandb0:flag=0else:flag=1print(請輸入一個正整數(shù))print(0:1A2.format(c,a,b)4.201描述參照代碼模板完善代碼,實現(xiàn)下述功能,不得修改其它代碼。使用turtle庫的turtle.fd()函數(shù)和turtle.seth()函數(shù)繪制螺旋狀的正方形,正方形邊長從1像素開始,第一條邊從0度方向開始,效果如下圖所示則在提交代碼頁面輸入:print(1,100,(i+100)自動評閱說明使用字符串形式輸出自動評閱得分中應(yīng)填代碼即可以例如,如果代碼為:#代碼模板turtl
10、e你的代碼importturtle|import=0foriinrange(_1_):|foriinrange(1):turtle.fd(_2_)turtle.fd(100)_3_=(i+100)*100turtle.seth(d)turtle.seth(d)100提交后即可以查看得分注:如果有運算符,請在運算符兩側(cè)加上空格習(xí)題講解答案:importturtleforjinrange(10):foriinrange(4):turtle.fd(k)d+=91turtle.seth(d)k+=2turtle.done()要點:1.降低了難度,讓填寫的都是最簡單的5.202描述參照代碼模板完善代碼,
11、實現(xiàn)下述功能,可以修改其它代碼。附件文件question.txt中有一道Python選擇題,第1行的第1個數(shù)據(jù)為題號,后續(xù)的4行是4個選項。示例內(nèi)容如下:3.以下關(guān)于字典類型的描述,錯誤的是:A.字典類型中的數(shù)據(jù)可以進(jìn)行分片和合并操作B.字典類型是一種無序的對象集合,通過鍵來存取C.字典類型可以在原來的變量上增加或縮短D.字典類型可以包含列表和其他數(shù)據(jù)類型,支持嵌套的字典讀取其中的內(nèi)容,提取題干和四個選項的內(nèi)容,利用jieba分詞并統(tǒng)計出現(xiàn)頻率最高的3個詞,其中要刪除以下的常用字和符號的,::可以是和中以下B”,作為該題目的主題標(biāo)簽,顯示輸出在屏幕上。輸入輸出不例輸入輸出示例1從文件quest
12、ion.txt中讀取所有內(nèi)容第3題的主題是:類型:5集合:2組合:2習(xí)題講解答案:importjiebafi=open(question.txt,r)con=num=0forlinfi:l=l.replace(n,).strip().split(.)#print(l)try:ft=eval(l0)except:passelsenum=ftcon+=l1print(第題的主題是:.format(num)conls=jieba.Icut(con)diet=forwordinconls:dictword=dict.get(word,0)+1dictls=list(dict.items()dictls
13、.sort(key=lambdax:x1,reverse=True)k=0foritindictls:ifit0in的,:可以是和中以下B:continueelse:ifk=3:breakelse:print(:.format(it0,it1)k+=1fi.close()要點:1 .導(dǎo)入jieba庫,使用lcut分詞,返回列表conls2.打開文件,讀文件,關(guān)閉文件3.按行從文件里讀, 每一行是一個字符串, 用strip和split處理成列表, 因為要識別題號,還要提取題目和選項的內(nèi)容, 所以要按照.分隔來提取, 分別返回題號和選項號作為列表l的第0個字段,后面的內(nèi)容是列表l的第一個字段;4.
14、為了識別題號,要利用eval,并逆向利用try-except結(jié)構(gòu)捕捉第一個字段是整數(shù)的字段,把題號提取出來放到num里面,把其他的內(nèi)容都用字符串加法,拼成一個大字符串con5.給出第一句顯示:print(第。題的主題是:.format(num)6.接下來處理con,提取整個題干的主題詞:7.用jieba分詞,然后用字典dict來保存沒個詞出現(xiàn)的次數(shù)。一種慣用法是forwordinconls:dictword=dict.get(word,0)+18.統(tǒng)計出來的詞以及詞頻, 需要排序找到最大三個詞頻, 此時需要把字典的鍵值對items()提取出來形成列表dictls,并利用列表排序和lambda函
15、數(shù)。得到排好序的dictls9.顯示的時候,遍歷字典的每個鍵,要避開那些沒有意義的詞,題目里給出了剔除列表,拿過來判斷一下,如果是沒用的詞,就直接跳過,循環(huán)下一個,用continue;10.如果是有意義的詞,題目要求顯示三個最高詞頻的詞,因為中間有跳過的詞,不能直接只循環(huán)排序靠前的3個詞。要對顯示了的詞做計數(shù),計夠三個,就中斷循環(huán),所以要用break;11.這里用了嵌套的分支結(jié)構(gòu),在第一個分支里是有意義的詞,在第二個分支里是計數(shù)不到三個,才做顯示輸出的語句,顯示完了,要把計數(shù)器k加一。12.程序最后記著關(guān)閉文件。6.301描述老王的血壓有些高,醫(yī)生讓家屬給老王測血壓。老王的女兒記錄了一段時間的
16、血壓測量值,在文件xueyajilu.txt中,內(nèi)容示例如下:2018/7/26:00,140,82,136,90,692018/7/215:28,154,88,155,85,632018/7/36:30,131,82,139,74,612018/7/316:49,145,84,139,85,732018/7/45:03,152,87,131,85,63文件內(nèi)各部分含義如下:測量時間,左臂高壓,左臂低壓,右臂高壓,右臂低壓,心率參照代碼模板完善代碼,實現(xiàn)下述功能,可以修改給定代碼。(1)使用字典和列表類型進(jìn)行數(shù)據(jù)分析,獲取老王的左臂和右臂的血壓平均值左臂和右臂的高壓最高值、低壓最高值左臂和右臂
17、的高/低壓差平均值心率的平均值給出左臂和右臂血壓情況的對比表,輸出到屏幕上,請注意每行三列對齊。示例如下:對比項左臂右臂高壓最大值163155低壓最大值9390壓差平均值6157高壓平均值146140低壓平均值8582(2)上述顯示的五個項目,如果左臂有大于50%的項目高于右臂,則輸出結(jié)論:左臂血壓偏高”;如果等于50%的項目高于右臂,則輸出結(jié)論:左臂血壓與右臂血壓相當(dāng)”;如果小于50%的項目高于右臂,則輸出結(jié)論:右臂血壓偏高示例如下:結(jié)論:左臂血壓偏高,心率的平均值為66(注意:此處為格式示例,實際數(shù)據(jù)與此不同)輸入輸出示例輸入輸出示例1 讀取文件xueyajilu.txt內(nèi)容對比項左臂高壓
18、最大值163低壓最大值93壓差平均值61高壓平均值146低壓平均值85結(jié)論:左臂血壓偏高,心率的平均4習(xí)題講解答案:fi=open(xueyajilu.txt,r)jl=口,#1:zb_h,zb_l,yb_h,yb_lzyc=yyc=xl=口forlinfi:lls=l.replace(n,).strip().split(,)foriinrange(1,5):jli.append(eval(llsi)zyc.append(eval(lls1)-eval(lls2)yyc.append(eval(lls3)-eval(lls4)xl.append(eval(lls5)fi.close()cnt=
19、len(xl)res=(壓差平均值,sum(zyc)/cnt,sum(yyc)/cnt)(心率平均值,sum(xl)/cnt,0)zbg=0ybg=0print(:10:10:10.format(對比項,左臂,右臂)forrinrange(len(res)-1):print(:10:10:resr2:zbg+=1else:ybg+=1ifzbgybg:print(結(jié)論:左臂血壓偏高,end=)elifzbg=ybg:print(結(jié)論:左臂血壓與右臂血壓相當(dāng),end=)elseres.append(list(高壓最大值,max(jl1),max(jl3)res.append(list(低壓最大值,max(jl2),max(jl4)res.append(list(高壓平均值,sum(jl1)/cnt,sum(jl3)/cnt)res.append(list(低壓平均值,sum(jl2)/cnt,sum(jl4)/cnt)res.append(listres.append(listprint(結(jié)論:右臂血壓偏高,end=
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版創(chuàng)業(yè)投資公司股權(quán)收購及業(yè)績對賭合同3篇
- 個人抵押藝術(shù)品借款合同(2024版)3篇
- 2024年智慧城市建設(shè)規(guī)劃合同
- 2024年工業(yè)設(shè)備采購及安裝合同
- 2025年上海勞務(wù)派遣合同(2篇)
- 2025年專利合同合作模板(三篇)
- 2025年上海市學(xué)校聘用合同(三篇)
- 2025年度奶粉行業(yè)人才培養(yǎng)與職業(yè)規(guī)劃合作合同樣本
- 房屋抵押借款合同樣本
- 2025年度農(nóng)業(yè)科技園區(qū)運營管理服務(wù)合同
- 福建省福州市延安中學(xué)2023-2024學(xué)年八年級上學(xué)期期末物理模擬試卷+
- 2024年度醫(yī)院肝膽外科實習(xí)生帶教計劃課件
- 微機原理與接口技術(shù)考試試題及答案(綜合-必看)
- 勞務(wù)投標(biāo)技術(shù)標(biāo)
- 研發(fā)管理咨詢項目建議書
- 轉(zhuǎn)錢委托書授權(quán)書范本
- 一種配網(wǎng)高空作業(yè)智能安全帶及預(yù)警系統(tǒng)的制作方法
- 某墓園物業(yè)管理日常管護(hù)投標(biāo)方案
- 蘇教版六年級數(shù)學(xué)上冊集體備課記載表
- 內(nèi)蒙古匯能煤電集團(tuán)有限公司長灘露天煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 22S702 室外排水設(shè)施設(shè)計與施工-鋼筋混凝土化糞池
評論
0/150
提交評論