Python程序設(shè)計岑遠紅課后參考答案_第1頁
Python程序設(shè)計岑遠紅課后參考答案_第2頁
Python程序設(shè)計岑遠紅課后參考答案_第3頁
Python程序設(shè)計岑遠紅課后參考答案_第4頁
Python程序設(shè)計岑遠紅課后參考答案_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python程序設(shè)計自我檢測題參考答案項目一初識Python程序一、選擇題1-5BCDAD二、填空題1.https://www.P/2.打印輸出3.開發(fā)版社區(qū)版4.Ctrl+Shift+F105.Pycharm、IDLE等三、閱讀程序,寫出程序的運行結(jié)果name=input("請輸入你的姓名:")age=input("請輸入你的年齡:")print("大家好,我叫",name,"今年",age,"歲")輸出結(jié)果:請輸入你的姓名:張三請輸入你的年齡:18大家好,我叫張三今年18歲四、編寫程序1.print("*")print("***")print("*****")print("***")print("*")2.print("*")print("***")print("*****")print("***")print("*")項目二操作基本類型數(shù)據(jù)一、選擇題1-5DDBDB6-9CBBD二、填空題1.type()2.%3.整型、實型4.5235.round()6.7.2529//47.28.="helloPython"9."a234b123c"10."123123123"三、閱讀程序,寫出程序的運行結(jié)果1.welcometoPythonandPythonisfun2.hloPtonhyle四、編寫程序1.F=float(input("請輸入華氏溫度:\n"))C=5/9*(F-32)print(f"相應(yīng)的攝氏溫度為{C:.1f}度")2.n=int(input("請輸入一個四位正整數(shù):\n"))a,b,c,d=n//1000,n//100%10,n//10%10,n%10print(f"{n}的各位數(shù)字之和為{a+b+c+d}")3.s="Python"print(s[1::2])項目三控制程序執(zhí)行流程一、選擇題1-5ABBCD6-8DCB二、填空題1.for循環(huán)while循環(huán)2.breakcontinue3.continuebreak4.會5.random.random()*5三、閱讀程序,寫出程序的運行結(jié)果1.和為62.*************************3.redappleredbananabigapplebigbananatastyappletastybanana4.1247810四、編寫程序1.c=input("請輸入一個字符:\n")ifc.isupper():print(f"{c}是大寫字母")elifc.islower():print(f"{c}是小寫字母")elifc.isdigit():print(f"{c}是數(shù)字字符")else:print(f"{c}是其他字符")2.n=int(input("請輸入一個正整數(shù):\n"))s=0foriinrange(n,0,-2):print(i)s+=1/iprint(s)3.foriinrange(5,0,-1):print("*"*i)4.n=int(input("請輸入一個正整數(shù):\n"))f=Trueforjinrange(2,n//2+1):ifn%j==0:f=False;breakiff:print(f"{n}是質(zhì)數(shù)")else:print(f"{n}不是質(zhì)數(shù)")項目四操作組合類型數(shù)據(jù)一、選擇題1-5CADCB6-10ABA(選項更正為ifa[::]==a[::-1])AA二、填空題1.[aforainrange(10,101)ifa%3==0]2.元組3.項鍵值4.項無序且不重復(fù)5.a^b6.[0,1,8,27,64]7.num.split(",")8.[3,7,7]9.['茶藝','舞蹈','繪畫']10.{3,5}三、閱讀程序,寫出程序的運行結(jié)果1.9F2.lijuan四、編寫程序1.arr=[3,8,7,2,11,5]n=len(arr)res=sorted(arr)res=[(res[i-1],res[i])foriinrange(1,n)]m=min(s[1]-s[0]forsinres)foriinres:ifi[1]-i[0]==m:print(i)2.s=input("請輸入一個整數(shù):\n")n=len(s)t=s[::-1]res=[t[i:i+3]foriinrange(0,n,3)]print(",".join(res)[::-1])項目五使用函數(shù)實施模塊化程序設(shè)計一、選擇題1-3CAD4①C②A5①C②A二、填空題1.實際參數(shù)(或簡稱實參)2.位置參數(shù)關(guān)鍵字參數(shù)3.局部函數(shù)4.遞歸函數(shù)5.名稱三、閱讀程序,寫出程序的運行結(jié)果1.282.[1,3,5,7]3.[1,2]四、編寫程序1.defreverse(lst):returnlst[::-1]if__name__=="__main__":s=input("請輸入字符串:\n")print(reverse(s))2.defonly(s):forcins:ifs.count(c)==1:returncif__name__=="__main__":s=input("請輸入字符串:\n")print(only(s))3.defWordNum(s):w=s.split()d={}foriinw:ifiind:d[i]+=1else:d[i]=1returndif__name__=="__main__":s=input("請輸入字符串:\n")print(WordNum(s))項目六應(yīng)用面向?qū)ο笏枷朐O(shè)計程序一、選擇題1-5DDACD二、填空題1.classboss(employee):2.方法def2.將類的方法指定為屬性將方法指定為name屬性的修改器3.類名.方法名(實際參數(shù))4.初始化類對象三、閱讀程序,寫出程序運行結(jié)果973355292325537.69911184307752四、編寫程序1.classStudent:def__init__(self,sno,name,sex,clsname):self.sno=snoself.__name=nameself.sex=sexself.clsname=clsnamedefshow(self):print(f"{self.sno:^10s}{self.__name:^5s}{self.sex:^3s}{self.clsname:^20s}")classStudent_Grade(Student):def__init__(self,sno,name,sex,clsname):super().__init__(sno,name,sex,clsname)self.__grade={}defAddGrade(self,course,grade):self.__grade[course]=gradedefAverage(self):iflen(self.__grade)==0:return0returnsum(self.__grade.values())/len(self.__grade.values())if__name__=="__main__":s=input("請輸入成績,格式為:課程名稱成績,直接換行結(jié)束輸入:\n")stu=Student_Grade("0001","張三","男","2020級大數(shù)據(jù)1班")whileTrue:data=s.split()iflen(data)!=2:print("輸入結(jié)束\n");breaktry:grade=float(data[1])except:print("成績格式錯\n");breakstu.AddGrade(data[0],grade)s=input("請輸入成績,格式為:課程名稱成績,直接換行結(jié)束輸入:\n")print("平均分",stu.Average())2.fromdatetimeimportdateclassMonthError(Exception):def__str__(self):return'月份錯誤'classDayError(Exception):def__str__(self):return'日期錯誤'classDateFormatError(Exception):def__str__(self):return'日期格式錯誤'classMyDate3:@staticmethoddefstr2date(sdate):try:year,month,day=[int(d)fordinsdate.split("/")]except:raiseDateFormatErrordnums=[0,31,28,31,30,31,30,31,31,30,31,30,31]ifnot1<=month<=12:raiseMonthErrorelse:ifyear%400==0oryear%100!=0andyear%4==0:dnums[2]+=1ifnot1<=day<=dnums[month]:raiseDayErrorreturndate(year,month,day)if__name__=="__main__":s=input("請輸入日期(yyyy/mm/dd):\n")try:date=MyDate3.str2date(s)exceptExceptionase:print(e)else:print(date)項目七操作文件一、選擇題1-5BABAB6-10BCCBA二、填空題1.os.path.isdir("d:\\a")2.os.makedirs(r"D:\a\b\c")3.os.listdir(r"D:\a")4.os.path.join(r"D:\a\b\c","d.xlsx")5.('D:\\a\\b\\c和文件名d','.xlsx')6.rmtree("D:\\a")7.copytree("D:\\a","D:\\d")8.withopen("D:\\a.json","w")asf:json.dump(列表名稱,f)9.load_workbook(f"d:\\a.xlsx")["sheet1"]10.withopen("D:\\a.pkl","wb")asf:pickle.dump([1,2,3,4],f)三、編寫程序1.importosfromshutilimportcopytreeforiinrange(1,11):os.makedirs("D:\\自己的姓名\\"+str(i))copytree("d:\\自己的姓名","c:\\自己的姓名")2.importosfromopenpyxlimportWorkbookfiles=os.listdir("C:\\windows")wb=Workbook()sheet=wb.create_sheet("windows")i=1forfinfiles:sheet.cell(i,1).value=fi+=1wb.active=1wb.save("d:\\files.xlsx")#有些系統(tǒng)限制存到C盤項目八使用進程和線程并行執(zhí)行一、填空題1.requests.get(url)2.元素后代3.當前節(jié)點4.選擇body元素下class屬性值為main的div元素5.tree.xpath(‘//td[@class=”sname”]’)6.是被調(diào)用函數(shù)被調(diào)用函數(shù)的參數(shù)構(gòu)成的列表item_list7.t.start()8.p.join()9.邏輯CPU數(shù)量二、簡答題1.所有任務(wù)排成一列依次執(zhí)行的方式稱為串行。多個程序任務(wù)同時執(zhí)行的方式稱為并行。兩者的區(qū)別在于同時執(zhí)行的任務(wù)數(shù)量,串行同一時刻只有一個任務(wù)在執(zhí)行,并行同一時刻有多個任務(wù)在執(zhí)行。2.Python中的多個線程其實是交替在CPU上執(zhí)行的,適用于IO密集型任務(wù),即輸入輸出操作多的程序,多個線程并發(fā)執(zhí)行能讓計算和輸入輸出操作同時執(zhí)行,進而提高運行速度。多進程并行執(zhí)行是多個進程同時在多核CPU上運行,是真正的同時運行,適用于計算密集型程序。3.在主進程中依次調(diào)用子進程對象的join()方法可以等待所有子進程執(zhí)行結(jié)束。4.在Python中使用進程間的同步機制,如鎖、隊列和管道等控制進程的執(zhí)行順序。三、編程題1.fromlxmlimportetreeimportrequestsfroma5_3_2檢測函數(shù)運行時間importtimeitdeftoFloat(s):base=10000ifs.find('萬')>=0else1s=s.replace('萬','').replace(',','')try:returnfloat(s)*baseexcept:return0defget_inventory(company_code):content=requests.get(f'/share,{company_code},zcfzb.shtml').contenttree=etree.HTML(content)company_name=tree.xpath('//div[@class="sname"]/h3/a/text()')[0]inventory=toFloat(tree.xpath("http://td[contains(text(),'存貨')]/following-sibling::td[1]")[0].text)return[company_code,company_name,inventory]@timeit(1)defget_all(stock_list):returnsorted([get_inventory(company_code)forcompany_codeinstock_list],key=lambdaa:a[2],reverse=True)if__name__=="__main__":res=get_all(['300505','300477','300958','300779','300354','300079','300899','300193','300317','300568','300480','300212','300445','300367','300769','300422','300278','300103','300438','300543'])print(f"{'代碼':^10s}{'名稱':^10s}{'存貨':^20s}")forsinres:print("{s[0]:^10s}{s[1]:{ch}^10s}{s[2]:<20.2f}".format(s=s,ch=chr(12288)))2.frommultiprocessingimportPool,cpu_countdefIsPrime(num):forjinrange(2,int(num**0.5)+1):ifnum%j==0:return0returnnumif__name__=="__main__":withPool(cpu_count())aspool:res=pool.map(IsPrime,range(2,10000))print([iforiinresifi!=0])項目九訪問數(shù)據(jù)庫一、選擇題1-5DCBAD二、填空題1.excecute2.字段3.insert4.delete三、編寫程序1.importsqlite3con=sqlite3.connect('students.db')cur=con.cursor()cur.execute('''CREATETABLEstudents_Infor(idintegerprimarykey,nametext,sextext,ageinteger)''')cur.execute('''CREATETABLEcourse(idintegerprimarykey,course_nametext)''')cur.execute('''CREATETABLEgrade(stud_idinteger,course_idinteger,gradereal,primarykey(stud_id,course_id))''')mit()con.close()2.importsqlite3con=sqlite3.connect('students.db')cur=con.cursor()cur.execute("insertintostudents_inforvalues(1,'張三','男',15)")cur.execute("insertintostudents_inforvalues(2,'李四','女',15)")cur.execute("insertintostudents_inforvalues(3,'王五','男',15)")cur.execute("insertintostudents_inforvalues(4,'韓六','女',15)")cur.execute("insertintostudents_inforvalues(5,'趙七','男',15)")cur.execute("insertintocoursevalues(1,'語文'),(2,'數(shù)學(xué)'),(3,'英語'),(4,'Python'),(5,'Pandas')")mit()con.close()3.importsqlite3con=sqlite3.connect('students.db')cur=con.cursor()cur.execute("deletefromstudents_inforwheresex='男'")mit()con.close()項目十使用正則表達式處理文字一、選擇題1-5BCADB二、填空題1."[1-9]\d{4,10}"2.正前瞻負前瞻正回顧負回顧3."[\u4e00-\u9fa5][A-Z][A-Z0-9]{5}"4."\d{3}-\d{8}"5.數(shù)字非數(shù)字單詞字符非單詞字符三、閱讀程序,寫出程序運行結(jié)果1.matchObj.group():Onaverage,EuropeansaretallerthanAsiansmatchObj.group(1):Onaverage,EuropeansmatchObj.group(2):taller2.電話號碼話號

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論