華東師范大學(xué)Python習(xí)題選編_第1頁(yè)
華東師范大學(xué)Python習(xí)題選編_第2頁(yè)
華東師范大學(xué)Python習(xí)題選編_第3頁(yè)
華東師范大學(xué)Python習(xí)題選編_第4頁(yè)
華東師范大學(xué)Python習(xí)題選編_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

華東師范大學(xué)Python習(xí)題選編華東師范大學(xué)Python習(xí)題選編華東師范大學(xué)Python習(xí)題選編華東師范大學(xué)Python習(xí)題選編編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:Python習(xí)題選編 華東師大信息學(xué)院計(jì)算中心一.程序結(jié)構(gòu)與算法部分:1.編寫一個(gè)python程序,輸入兩個(gè)數(shù),比較它們的大小并輸出其中較大者。參考代碼:x=int(input("Pleaseenterfirstinteger:"))y=int(input("Pleaseentersecondinteger:"))if(x==y):print("兩數(shù)相同!")elif(x>y):print("較大數(shù)為:",x)else:print("較大數(shù)為:",y);2.寫一個(gè)算法(流程圖和python程序):輸入三個(gè)數(shù),輸出其最大者。參考代碼:a,b,c=3,4,5ifa<=b:ifc<b:print("b是最大的數(shù)")else:print("c是最大的數(shù)")else:ifc<a:print("a是最大的數(shù)")else:print("c是最大的數(shù)")3.使用Python編程,求1~100間所有偶數(shù)的和。參考代碼:sum=0forxinrange(1,101):ifx%2==0:print(x)sum=sum+xprint("累加和是:",sum)4.用Python編寫程序,輸入一年份,判斷該年份是否是閏年并輸出結(jié)果。注:凡符合下面兩個(gè)條件之一的年份是閏年。能被4整除但不能被100整除。能被400整除。參考代碼:year=int(input("Pleaseentertheyear:"))if((year%4==0andyear%100!=0)or(year%400==0)):加個(gè)括號(hào)即可print(year,"isaleapyear.")else:print(year,"isnotaleapyear.")5.用Python編程,假設(shè)一年期定期利率為%,計(jì)算一下需要過(guò)多少年,一萬(wàn)元的一年定期存款連本帶息能翻番參考代碼:cunkuan=10000#本金10000元years=0whilecunkuan<20000:years+=1cunkuan=cunkuan*(1+print(str(years)+"年以后,存款會(huì)翻番")6.從鍵盤接收一百分制成績(jī)(0~100),要求輸出其對(duì)應(yīng)的成績(jī)等級(jí)A~E。其中,90分以上為'A',80~89分為'B',70~79分為'C',60~69分為'D',60分以下為'E'。參考答案:score=int(input('請(qǐng)輸入成績(jī)(0~100):'))ifscore>100:grade="輸入錯(cuò)誤!"elifscore>=90:grade='A'elifscore>=80:grade='B'elifscore>=70:無(wú)需寫小于什么什么的因?yàn)閑lif就已經(jīng)是除了這個(gè)之外的了grade='C'elifscore>=60:grade='D'elifscore>=0:grade='E'else:grade="輸入錯(cuò)誤!"print(grade)7.猜數(shù)游戲。預(yù)設(shè)一個(gè)0~9之間的整數(shù),讓用戶猜一猜并輸入所猜的數(shù),如果大于預(yù)設(shè)的數(shù),顯示“太大”;小于預(yù)設(shè)的數(shù),顯示“太小”,如此循環(huán),直至猜中該數(shù),顯示“恭喜!你猜中了!”。參考答案:num=7whileTrue:guess=int(input('請(qǐng)輸入你猜的數(shù)(0~9):'))ifguess==num:print("恭喜!你猜中了!")break;elifguess>num:print("太大")else:print("太小")8.輸入一個(gè)數(shù),判斷這個(gè)數(shù)是否為素?cái)?shù),并輸出判斷結(jié)果。(所謂素?cái)?shù),是指除了1和該數(shù)本身之外,不能被其它任何整數(shù)整除的數(shù)。下圖為參考流程圖)參考答案:importmathn=int(input("請(qǐng)輸入一個(gè)數(shù):"))x=int(n))i,w=2,0foriinrange(2,x+1):ifn%i==0:w=1ifw==1:print(n,"不是素?cái)?shù)。")else:print(n,"是素?cái)?shù)。")或importmathn=int(input('請(qǐng)輸入一個(gè)數(shù):'))i,w=2,0whilei<=int(n))andw==0:ifn%i==0:w=1breakelse:i=i+1ifw==0:print(n,"是素?cái)?shù)!")else:print(n,"不是素?cái)?shù)!")或importmathn=int(input('請(qǐng)輸入一個(gè)數(shù):'))i=2whilei<=int(n)):ifn%i==0:print(n,"不是素?cái)?shù)!")breakelse:i=i+1else:print(n,"是素?cái)?shù)!")9.一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如,6的因子為1、2、3,而6=1+2+3,因此6是完數(shù)。編程,找出1000之內(nèi)的所有完數(shù),并輸出該完數(shù)及對(duì)應(yīng)的因子。(枚舉法)參考答案:m=1000forainrange(2,m+1):s=aL1=[]foriinrange(1,a):ifa%i==0:s-=i(i)ifs==0:print("完數(shù):%d,因子包括:"%a,end="")forjinrange(1,len(L1)):為啥不是0開頭的print("%d"%L1[j],end=",")print("\n")10.編程,解決猴子吃桃問(wèn)題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第10天早上想吃時(shí),只剩下一個(gè)桃子了。求第一天共摘多少個(gè)桃子。(迭代法)參考答案:day=9x=1whileday>0:x=(x+1)*2day-=1print("total=",x)二.文件部分:1. 在當(dāng)前目錄下有一個(gè)文件名為的文件,存放著上海從2014年3月10日(周一)到3月16日(周日)間一周的最高和最低氣溫(單位為攝氏度)。其中,第一行為最高氣溫,第二行為最低氣溫。編程,找出這一周中第幾天最熱(按最高氣溫計(jì)算)最高多少度這一周中第幾天最冷(按最低氣溫計(jì)算)最冷多少度參考答案:flname=""f=open(flname)ht=()).strip()暫且先只讀一行L1=list(','))lt=()).strip()此處再讀第二行L2=list(','))()foriinrange(len(L1)):L1[i]=int(L1[i])L2[i]=int(L2[i])maxVal=L1[0]可用max.(L1)maxDay=0minVal=L2[0]minDay=0foriinrange(1,len(L1)):ifL1[i]>maxVal:maxVal=L1[i]maxDay=iifL2[i]<minVal:minVal=L2[i]minDay=iprint("這周第"+str(maxDay+1)+"天最熱,最高"+str(maxVal)+"攝氏度")print("這周第"+str(minDay+1)+"天最冷,最低"+str(minVal)+"攝氏度")2.在上題的基礎(chǔ)上,求出全周的平均氣溫(這一周各天平均溫度的平均值,取整數(shù))。假設(shè)在氣象意義上,入春標(biāo)準(zhǔn)是連續(xù)5天日均氣溫超過(guò)10℃,根據(jù)這一周的氣象數(shù)據(jù)是否能判斷上海已經(jīng)入春參考答案:flname=""f=open(flname)ht=()).strip()L1=list(','))lt=()).strip()L2=list(','))()不要忘了?。。。。。。。?!L3=[]foriinrange(len(L1)):L1[i]=int(L1[i])L2[i]=int(L2[i])(int((L1[i]+L2[i])/2))屌炸天!!?。um=0k=0foriinrange(len(L3)):sum=sum+L3[i]ifL3[i]>=10:k+=1else:k=0這還要寫嗎avg=int(sum/len(L3))print("周平均氣溫為:",avg)ifk>=5:print("上海這周已入春。")else:print("上海這周未入春。")3.當(dāng)前目錄下有一個(gè)文件名為的文本文件,存放著某班學(xué)生的計(jì)算機(jī)課成績(jī),共有學(xué)號(hào)、平時(shí)成績(jī)、期末成績(jī)?nèi)小U?qǐng)根據(jù)平時(shí)成績(jī)占40%,期末成績(jī)占60%的比例計(jì)算總評(píng)成績(jī)(取整數(shù)),并分學(xué)號(hào)、總評(píng)成績(jī)兩列寫入另一文件。同時(shí)在屏幕上輸出學(xué)生總?cè)藬?shù),按總評(píng)成績(jī)計(jì)90以上、80~89、70~79、60~69、60分以下各成績(jī)檔的人數(shù)和班級(jí)總平均分(取整數(shù))。參考答案:f=open("")a=()line=()).strip()f2=open("",'w')("學(xué)號(hào)平均成績(jī)\n");L2=[0,0,0,0,0]count=0sum=0while(len(line)!=0):#print(line)L1=()(L1[0]+"")f_score=int(int(L1[1])*+int(L1[2])*if90<f_score<=100:L2[0]+=1eliff_score>=80:L2[1]+=1eliff_score>=70:L2[2]+=1eliff_score>=60:L2[3]+=1else:L2[4]+=1count+=1sum+=f_score(str(f_score)+"\n")line=()).strip()()()avg_score=int(sum/count)print("學(xué)生總?cè)藬?shù)為%d,按總評(píng)成績(jī)計(jì),90以上%d人、80~89間%d人、70~79間%d人、60~69間%d人、60分以下%d人。班級(jí)總平均分為%d分。"%(count,L2[0],L2[1],L2[2],L2[3],L2[4],avg_score))或f=open("")a=()dela[0]L3=[]forlineina:line=()L1=()f_score=int(int(L1[1])*+int(L1[2])*([L1[0],f_score])()c=[0,0,0,0,0]count=0sum=0f2=open("",'w')("學(xué)號(hào)平均成績(jī)\n");forL2inL3:if90<L2[1]<=100:c[0]+=1elifL2[1]>=80:c[1]+=1elifL2[1]>=70:c[2]+=1elifL2[1]>=60:c[3]+=1else:c[4]+=1count+=1sum+=L2[1](L2[0]+""+str(L2[1])+"\n")()avg_score=int(sum/count)print("學(xué)生總?cè)藬?shù)為%d,按總評(píng)成績(jī)計(jì),90以上%d人、80~89間%d人、70~79間%d人、60~69間%d人、60分以下%d人。班級(jí)總平均分為%d分。"%(count,c[0],c[1],c[2],c[3],c[4],avg_score))4.當(dāng)前目錄下有一個(gè)文本文件,其內(nèi)容包含小寫字母和大寫字母。請(qǐng)將該文件復(fù)制到另一文件,并將原文件中的小寫字母全部轉(zhuǎn)換為大寫字母,其余格式均不變。參考答案:f=open("")L1=()f2=open("",'w')forlineinL1:())()()5.當(dāng)前目錄下有一個(gè)文件名為的文本文件,存放著某班學(xué)生的學(xué)號(hào)、數(shù)學(xué)課成績(jī)(第2列)和語(yǔ)文課成績(jī)(第3列)。請(qǐng)編程完成下列要求:(1)分別求這個(gè)班數(shù)學(xué)和語(yǔ)文的平均分(保留1位小數(shù))并輸出。(2)找出兩門課都不及格(<60)的學(xué)生,輸出他們的學(xué)號(hào)和各科成績(jī)。(3)找出兩門課的平均分在90分以上的學(xué)生,輸出他們的學(xué)號(hào)和各科成績(jī)。建議用三個(gè)函數(shù)分別實(shí)現(xiàn)以上要求。參考答案:defoutput_avg(L):sum1,sum2=0,0forlineinL:L1=().split()sum1+=int(L1[1])sum2+=int(L1[2])count=len(L)avg1=round(sum1/count,1)avg2=round(sum2/count,1)print("這個(gè)班的數(shù)學(xué)平均分為:%,語(yǔ)文平均分為:%"%(avg1,avg2))defoutput_notpass(L):print("兩門課均不及格的學(xué)生學(xué)號(hào)及數(shù)學(xué)、語(yǔ)文成績(jī)?yōu)椋?)forlineinL:L1=().split()ifint(L1[1])<60andint(L1[2])<60:print(line)defoutput_good(L):print("兩門課平均分在90分以上的學(xué)生學(xué)號(hào)及數(shù)學(xué)、語(yǔ)文成績(jī)?yōu)椋?)forlineinL:L1=().split()f_score=round((int(L1[1])+int(L1[2]))/2)iff_score>=90:print(line)f=open("")L=()delL[0]output_avg(L)output_notpass(L)output_good(L)算法分析與設(shè)計(jì)部分編程,從鍵盤接收若干個(gè)整數(shù)(直接輸入回車表示結(jié)束),用冒泡法或選擇法進(jìn)行排序(從小到大),并將排序結(jié)果在屏幕上輸出。參考答案:選擇排序:defbubble(List):num=len(List)foriinrange(0,num-1):forjinrange(i+1,num):#對(duì)應(yīng)列表中的位置ifList[i]>List[j]:List[i],List[j]=List[j],List[i]returnListL1=[]num_str=input('請(qǐng)輸入一個(gè)需排序的整數(shù):')whilelen(num_str)!=0:(int(num_str))num_str=input('請(qǐng)輸入一個(gè)需排序的整數(shù):')print('排序后結(jié)果:',bubble(L1))或冒泡排序:defbubble(List):foriinrange(0,len(List)-1):forjinrange(len(List)-1,i,-1):ifList[j-1]>List[j]:List[j-1],List[j]=List[j],List[j-1]returnListL1=[]num_str=input('請(qǐng)輸入一個(gè)需排序的整數(shù):')whilelen(num_str)!=0:(int(num_str))num_str=input('請(qǐng)輸入一個(gè)需排序的整數(shù):')print('排序后結(jié)果:',bubble(L1))2.當(dāng)前目錄下有一個(gè)文件名為的文本文件,存放著某班學(xué)生的計(jì)算機(jī)課成績(jī),共有學(xué)號(hào)、總評(píng)成績(jī)兩列。請(qǐng)查找最高分和最低分的學(xué)生,并在屏幕上顯示其學(xué)號(hào)和成績(jī)。參考答案:f=open("")a=()dela[0]L2=[]L3=[]forlineina:line=()L1=()(L1[0])(L1[1])()maxScore=L3[0]maxIndex=0minScore=L3[0]minIndex=0foriinrange(1,len(L3)):ifL3[i]>maxScore:maxScore=L3[i]maxIndex=iifL3[i]<minScore:minScore=L3[i]minIndex=iprint("最高分為:"+str(maxScore)+"分,該學(xué)生學(xué)號(hào)為:"+str(L2[maxIndex]))print("最低分為:"+str(minScore)+"分,該學(xué)生學(xué)號(hào)為:"+str(L2[minIndex]))3.編程,輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。參考答案:letters,space,digit,other=0,0,0,0s=input("請(qǐng)輸入一行字符:")foriinrange(len(s)):if(s[i]>='a'ands[i]<='z')or(s[i]>='A'ands[i]<='Z'):letters+=1elifs[i]=='':space+=1elifs[i]>='0'ands[i]<='9':digit+=1else:other+=1print("字母數(shù):%d\n空格數(shù):%d\n數(shù)字?jǐn)?shù):%d\n其他字符數(shù):%d\n"%(letters,space,digit,other))或p=input('請(qǐng)輸入一行字符:')a,b,c,d=0,0,0,0foriinp:if((i<='Z'andi>='A')or(i<='z'andi>='a')):a+=1elif(i==''):b+=1elif(i>='0'andi<='9'):c+=1else:d+=1print('英文字母的個(gè)數(shù)為:'+str(a))print('空格的個(gè)數(shù)為:'+str(b))print('數(shù)字的個(gè)數(shù)為:'+str(c))print('其他字符的個(gè)數(shù)為:'+str(d))或letter,space,digit,other=0,0,0,0s=input('inputastring:')forcins:if():letter+=1elif():space+=1elif():digit+=1else:other+=1print("字母數(shù):%d\n空格數(shù):%d\n數(shù)字?jǐn)?shù):%d\n其他字符數(shù):%d\n"%(letter,space,digit,other))函數(shù)部分:寫一判素?cái)?shù)的函數(shù),在主函數(shù)中輸入一個(gè)整數(shù),調(diào)用該函數(shù)進(jìn)行判斷并輸出結(jié)果。參考答案:defshushu(n):importmathi,w=2,0ifn<=1: w=1whilei<=int(n))andw==0:ifn%i==0:w=1breakelse:i=i+1returnwn=int(input('n='))ifshushu(n)==0:print(n,"是素?cái)?shù)!")else:print(n,"不是素?cái)?shù)!")當(dāng)前目錄下有一個(gè)文件名為的文本文件,存放著某班學(xué)生的學(xué)號(hào)和其兩門專業(yè)課的成績(jī)。分別用函數(shù)實(shí)現(xiàn)以下功能:定義函數(shù)function1,計(jì)算每個(gè)學(xué)生的平均分(取整數(shù)),并將所有學(xué)生的學(xué)號(hào)和平均分在屏幕上輸出。(函數(shù)參數(shù)為要讀取文件的文件名)deffunction1(flname): #函數(shù)代碼function1("c:\\test\\")參考答案:deffunction1(flname):f=open(flname)a=()dela[0]L3=[]forlineina:

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論