《華東師范大學(xué)PYTHON習(xí)題選編.pdf》由會員分享,可在線閱讀,更多相關(guān)《華東師范大學(xué)PYTHON習(xí)題選編.pdf(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
Python習(xí) 題 選 編華 東 師 大 信 息 學(xué) 院 計 算 中 心一 . 程 序 結(jié) 構(gòu) 與 算 法 部 分 :1 . 編 寫 一 個 python 程 序 , 輸 入 兩 個 數(shù) , 比 較 它 們 的 大 小 并 輸 出 其 中 較 大 者 。參 考 代 碼 :x = int(input("Please enter first integer: "))y = int(input("Please enter second integer: "))if (x == y):print("兩 數(shù) 相 同 ! ")elif (x > y):print("較 大 數(shù) 為 : ",x)else:print("較 大 數(shù) 為 : ",y); 2 . 寫 一 個 算 法 ( 流 程 圖 和 python 程 序 ) : 輸 入 三 個 數(shù) , 輸 出 其 最 大 者 。參 考 代 碼 :a,b,c=3 ,4 ,5if a <= b:if c < b:print ("b 是 最 大 的 數(shù) ")else:print ("c 是 最 大 的 數(shù) ")else:if c < a:print ("a 是 最 大 的 數(shù) ")else:print ("c 是 最 大 的 數(shù) ") 3 . 使 用 Python 編 程 , 求 1 ~ 1 0 0 間 所 有 偶 數(shù) 的 和 。參 考 代 碼 :sum=0for x in range(1 ,1 0 1 ):if x % 2 ==0 :print(x)sum=sum+xprint("累 加 和 是 :",sum)4 . 用 Python 編 寫 程 序 , 輸 入 一 年 份 , 判 斷 該 年 份 是 否 是 閏 年 并 輸 出 結(jié) 果 。注 : 凡 符 合 下 面 兩 個 條 件 之 一 的 年 份 是 閏 年 。 ( 1 ) 能 被 4 整 除 但 不 能 被 1 0 0 整 除 。( 2 ) 能 被 4 0 0 整 除 。參 考 代 碼 :year = int(input("Please enter the year: "))if ((year%4 ==0 and year%1 0 0 !=0 ) or (year%4 0 0 ==0 )): 加 個 括 號 即 可print(year,"is a leap year.")else:print(year,"is not a leap year.")5 . 用 Python 編 程 , 假 設(shè) 一 年 期 定 期 利 率 為 3 .2 5 %, 計 算 一 下 需 要 過 多 少 年 , 一萬 元 的 一 年 定 期 存 款 連 本 帶 息 能 翻 番 ?參 考 代 碼 :cunkuan = 1 0 0 0 0 #本 金 1 0 0 0 0 元years=0 while cunkuan 1 0 0 :grade = "輸 入 錯 誤 ! "elif score >= 9 0 :grade = A elif score >= 8 0 :grade = Belif score >= 7 0 : 無 需 寫 小 于 什 么 什 么 的 因 為 elif 就 已 經(jīng) 是 除 了 這 個 之 外 的 了grade = Celif score >= 6 0 :grade = Delif score >= 0 :grade = Eelse:grade = "輸 入 錯 誤 ! "print(grade)7 . 猜 數(shù) 游 戲 。 預(yù) 設(shè) 一 個 0 ~9 之 間 的 整 數(shù) , 讓 用 戶 猜 一 猜 并 輸 入 所 猜 的 數(shù) , 如 果大 于 預(yù) 設(shè) 的 數(shù) , 顯 示 “ 太 大 ” ; 小 于 預(yù) 設(shè) 的 數(shù) , 顯 示 “ 太 小 ” , 如 此 循 環(huán) , 直 至 猜 中 該 數(shù) , 顯 示 “ 恭 喜 ! 你 猜 中 了 ! ” 。參 考 答 案 :num=7 while True:guess=int(input(請 輸 入 你 猜 的 數(shù) ( 0 ~ 9 ) : ))if guess == num:print("恭 喜 ! 你 猜 中 了 ! ")break;elif guess > num:print("太 大 ")else:print("太 小 ")8 . 輸 入 一 個 數(shù) , 判 斷 這 個 數(shù) 是 否 為 素 數(shù) , 并 輸 出 判 斷 結(jié) 果 。( 所 謂 素 數(shù) , 是 指 除 了 1 和 該 數(shù) 本 身 之 外 , 不 能 被 其 它 任 何 整 數(shù) 整 除 的 數(shù) 。 下圖 為 參 考 流 程 圖 ) 參 考 答 案 :import mathn=int(input("請 輸 入 一 個 數(shù) :"))x=int(math.sqrt(n))i,w=2 ,0for i in range (2 ,x+1 ):if n%i==0 : w=1if w==1 :print(n,"不 是 素 數(shù) 。 ")else:print(n,"是 素 數(shù) 。 ")或import mathn=int(input(請 輸 入 一 個 數(shù) : ))i,w=2 ,0while i <= int(math.sqrt(n)) and w==0 :if n%i == 0 :w = 1break else:i = i+1if w==0 :print(n,"是 素 數(shù) ! ")else:print(n,"不 是 素 數(shù) ! ")或import mathn=int(input(請 輸 入 一 個 數(shù) : ))i=2while i 0 :x=(x+1 )*2day-=1print("total=",x)二 . 文 件 部 分 :1 . 在 當(dāng) 前 目 錄 下 有 一 個 文 件 名 為 temp.txt 的 文 件 , 存 放 著 上 海 從 2 0 1 4 年 3 月1 0 日 ( 周 一 ) 到 3 月 1 6 日 ( 周 日 ) 間 一 周 的 最 高 和 最 低 氣 溫 ( 單 位 為 攝 氏 度 ) 。其 中 , 第 一 行 為 最 高 氣 溫 , 第 二 行 為 最 低 氣 溫 。 編 程 , 找 出 這 一 周 中 第 幾 天 最熱 ( 按 最 高 氣 溫 計 算 ) ? 最 高 多 少 度 ? 這 一 周 中 第 幾 天 最 冷 ( 按 最 低 氣 溫 計 算 ) ?最 冷 多 少 度 ?參 考 答 案 : flname="temp.txt"f=open(flname)ht=(f.readline()).strip() 暫 且 先 只 讀 一 行L1 =list(ht.split(,))lt=(f.readline()).strip() 此 處 再 讀 第 二 行L2 =list(lt.split(,))f.close()for i in range(len(L1 )):L1 [i]=int(L1 [i])L2 [i]=int(L2 [i])maxVal=L1 [0 ] 可 用 max.(L1 )maxDay=0minVal=L2 [0 ]minDay=0 for i in range(1 ,len(L1 )):if L1 [i]>maxVal: maxVal=L1 [i]maxDay=iif L2 [i]=1 0 :k+=1else:k=0 這 還 要 寫 嗎 ? ? ?avg=int(sum/len(L3 ))print("周 平 均 氣 溫 為 : ",avg)if k>=5 :print("上 海 這 周 已 入 春 。 ")else:print("上 海 這 周 未 入 春 。 ") 3. 當(dāng) 前 目 錄 下 有 一 個 文 件 名 為 score1.txt 的 文 本 文 件 , 存 放 著 某 班 學(xué) 生 的 計 算 機 課 成 績 , 共 有 學(xué) 號 、 平 時 成 績 、 期 末 成 績 三 列 。 請 根 據(jù) 平 時 成 績 占 40%, 期末 成 績 占 60%的 比 例 計 算 總 評 成 績 ( 取 整 數(shù) ) , 并 分 學(xué) 號 、 總 評 成 績 兩 列 寫 入 另一 文 件 score2.txt。 同 時 在 屏 幕 上 輸 出 學(xué) 生 總 人 數(shù) , 按 總 評 成 績 計 90 以 上 、 80~89、 70~ 79、 60~ 69、 60分 以 下 各 成 績 檔 的 人 數(shù) 和 班 級 總 平 均 分 ( 取 整 數(shù) ) 。參 考 答 案 :f=open("score1 .txt")a=f.readline()line=(f.readline()).strip()f2 =open("score2 .txt",w)f2 .write("學(xué) 號 平 均 成 績 \n");L2 =[0 ,0 ,0 ,0 ,0 ]count=0sum=0 while (len(line) != 0 ):#print(line)L1 =line.split()f2 .write(L1 [0 ]+" ")f_score=int(int(L1 [1 ])*0 .4 +int(L1 [2 ])*0 .6 )if 9 0
=7 0 :L2 [2 ]+=1elif f_score>=6 0 :L2 [3 ]+=1 else:L2 [4 ]+=1count+=1sum+=f_scoref2 .write(str(f_score)+"\n") ? ? ? ? ? ? ? ? ? ? ? ? ? ?line=(f.readline()).strip()f.close()f2 .close()avg_score=int(sum/count)print("學(xué) 生 總 人 數(shù) 為 %d, 按 總 評 成 績 計 ,9 0 以 上 %d 人 、 8 0 ~ 8 9 間 %d 人 、 7 0 ~ 7 9 間 %d 人 、6 0 ~ 6 9 間 %d 人 、 6 0 分 以 下 %d 人 。 班 級 總 平 均 分 為 %d 分 。"%(count,L2 [0 ],L2 [1 ],L2 [2 ],L2 [3 ],L2 [4 ],avg_score)) 或f=open("score1 .txt")a=f.readlines()del a[0 ]L3 =[] for line in a:line=line.strip()L1 =line.split()f_score=int(int(L1 [1 ])*0 .4 +int(L1 [2 ])*0 .6 )L3 .append([L1 [0 ],f_score])f.close()c=[0 ,0 ,0 ,0 ,0 ]count=0sum=0f2 =open("score2 .txt",w)f2 .write("學(xué) 號 平 均 成 績 \n");for L2 in L3 :if 9 0 =7 0 :c[2 ]+=1elif L2 [1 ]>=6 0 :c[3 ]+=1else:c[4 ]+=1count+=1sum+=L2 [1 ]f2 .write(L2 [0 ]+" "+str(L2 [1 ])+"\n")f2 .close() avg_score=int(sum/count)print("學(xué) 生 總 人 數(shù) 為 %d, 按 總 評 成 績 計 ,9 0 以 上 %d 人 、 8 0 ~ 8 9 間 %d 人 、 7 0 ~ 7 9 間 %d 人 、6 0 ~ 6 9 間 %d 人 、 6 0 分 以 下 %d 人 。 班 級 總 平 均 分 為 %d 分 。"%(count,c[0 ],c[1 ],c[2 ],c[3 ],c[4 ],avg_score))4. 當(dāng) 前 目 錄 下 有 一 個 文 本 文 件 sample12.txt, 其 內(nèi) 容 包 含 小 寫 字 母 和 大 寫 字 母 。請 將 該 文 件 復(fù) 制 到 另 一 文 件 sample12_copy.txt, 并 將 原 文 件 中 的 小 寫 字 母 全 部轉(zhuǎn) 換 為 大 寫 字 母 , 其 余 格 式 均 不 變 。參 考 答 案 :f=open("sample1 2 .txt")L1 =f.readlines()f2 =open("sample1 2 _copy.txt",w)for line in L1 : f2 .write(line.upper())f.close()f2 .close() 5. 當(dāng) 前 目 錄 下 有 一 個 文 件 名 為 class_score.txt 的 文 本 文 件 , 存 放 著 某 班 學(xué) 生的 學(xué) 號 、 數(shù) 學(xué) 課 成 績 ( 第 2列 ) 和 語 文 課 成 績 ( 第 3 列 ) 。 請 編 程 完 成 下 列 要 求 :( 1) 分 別 求 這 個 班 數(shù) 學(xué) 和 語 文 的 平 均 分 ( 保 留 1位 小 數(shù) ) 并 輸 出 。( 2) 找 出 兩 門 課 都 不 及 格 ( <60) 的 學(xué) 生 , 輸 出 他 們 的 學(xué) 號 和 各 科 成 績 。( 3) 找 出 兩 門 課 的 平 均 分 在 90 分 以 上 的 學(xué) 生 , 輸 出 他 們 的 學(xué) 號 和 各 科 成 績 。建 議 用 三 個 函 數(shù) 分 別 實 現(xiàn) 以 上 要 求 。參 考 答 案 :def output_avg(L):sum1 ,sum2 =0 ,0for line in L:L1 =line.strip().split() ? ? ? ? ? ? ? ?sum1 +=int(L1 [1 ])sum2 +=int(L1 [2 ])count=len(L) avg1 =round(sum1 /count,1 )avg2 =round(sum2 /count,1 )print("這 個 班 的 數(shù) 學(xué) 平 均 分 為 : %4 .1 f, 語 文 平 均 分 為 : %4 .1 f"%(avg1 ,avg2 ))def output_notpass(L):print("兩 門 課 均 不 及 格 的 學(xué) 生 學(xué) 號 及 數(shù) 學(xué) 、 語 文 成 績 為 : ")for line in L:L1 =line.strip().split()if int(L1 [1 ])<6 0 and int(L1 [2 ])=9 0 :print(line)f=open("class_score.txt")L=f.readlines()del L[0 ]output_avg(L)output_notpass(L)output_good(L)三 . 算 法 分 析 與 設(shè) 計 部 分 1. 編 程 , 從 鍵 盤 接 收 若 干 個 整 數(shù) ( 直 接 輸 入 回 車 表 示 結(jié) 束 ) , 用 冒 泡 法 或 選 擇 法 進(jìn) 行 排 序 ( 從 小 到 大 ) , 并 將 排 序 結(jié) 果 在 屏 幕 上 輸 出 。參 考 答 案 :選 擇 排 序 :def bubble(List):num=len(List)for i in range(0 ,num-1 ):for j in range(i+1 ,num): #對 應(yīng) 列 表 中 的 位 置if List[i]>List[j]:List[i],List[j]=List[j],List[i]return ListL1 =[]num_str=input(請 輸 入 一 個 需 排 序 的 整 數(shù) : )while len(num_str) != 0 : L1 .append(int(num_str))num_str=input(請 輸 入 一 個 需 排 序 的 整 數(shù) : )print(排 序 后 結(jié) 果 :, bubble(L1 ))或冒 泡 排 序 :def bubble(List):for i in range(0 ,len(List)-1 ):for j in range(len(List)-1 ,i,-1 ):if List[j-1 ]>List[j]:List[j-1 ],List[j]=List[j],List[j-1 ]return ListL1 =[]num_str=input(請 輸 入 一 個 需 排 序 的 整 數(shù) : )while len(num_str) != 0 : L1 .append(int(num_str))num_str=input(請 輸 入 一 個 需 排 序 的 整 數(shù) : )print(排 序 后 結(jié) 果 :, bubble(L1 ))2. 當(dāng) 前 目 錄 下 有 一 個 文 件 名 為 score2.txt 的 文 本 文 件 , 存 放 著 某 班 學(xué) 生 的 計算 機 課 成 績 , 共 有 學(xué) 號 、 總 評 成 績 兩 列 。 請 查 找 最 高 分 和 最 低 分 的 學(xué) 生 , 并 在屏 幕 上 顯 示 其 學(xué) 號 和 成 績 。參 考 答 案 :f=open("score2 .txt")a=f.readlines() del a[0 ]L2 =[]L3 =[] for line in a:line=line.strip()L1 =line.split()L2 .append(L1 [0 ])L3 .append(L1 [1 ])f.close()maxScore=L3 [0 ]maxIndex=0minScore=L3 [0 ]minIndex=0for i in range(1 ,len(L3 )):if L3 [i]>maxScore:maxScore=L3 [i] maxIndex=iif L3 [i]=a and s[i]=A and s[i]=0 and s[i]<=9 :digit+=1else:other+=1print(" 字 母 數(shù) : %d\n 空 格 數(shù) : %d\n 數(shù) 字 數(shù) : %d\n 其 他 字 符數(shù) : %d\n"%(letters,space,digit,other))或p=input(請 輸 入 一 行 字 符 :)a,b,c,d=0 ,0 ,0 ,0for i in p: if((i=A) or (i=a)):a+=1elif (i== ): b+=1elif(i>=0 and i<=9 ):c+=1else:d+=1print (英 文 字 母 的 個 數(shù) 為 : +str(a))print (空 格 的 個 數(shù) 為 : +str(b))print (數(shù) 字 的 個 數(shù) 為 : +str(c))print (其 他 字 符 的 個 數(shù) 為 : +str(d))或letter,space,digit,other=0 ,0 ,0 ,0s = input(input a string:)for c in s:if c.isalpha(): letter +=1elif c.isspace():space +=1elif c.isdigit():digit +=1else:other +=1print(" 字 母 數(shù) : %d\n 空 格 數(shù) : %d\n 數(shù) 字 數(shù) : %d\n 其 他 字 符數(shù) : %d\n"%(letter,space,digit,other))四 . 函 數(shù) 部 分 :1. 寫 一 判 素 數(shù) 的 函 數(shù) , 在 主 函 數(shù) 中 輸 入 一 個 整 數(shù) , 調(diào) 用 該 函 數(shù) 進(jìn) 行 判 斷 并 輸 出結(jié) 果 。 參 考 答 案 :def shushu(n):import mathi,w=2 ,0if n<=1 :w=1while i L1 [len(L1 )-1 ]:L1 .append(x)return for i in range(0 ,len(L1 )): if x
下載提示(請認(rèn)真閱讀)
- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
文檔包含非法信息?點此舉報后獲取現(xiàn)金獎勵!
下載文檔到電腦,查找使用更方便
5
積分
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
-
華東師范大學(xué)
PYTHON
習(xí)題
選編
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://www.820124.com/p-12746985.html