《華東師范大學PYTHON習題選編.pdf》由會員分享,可在線閱讀,更多相關(guān)《華東師范大學PYTHON習題選編.pdf(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
Python習 題 選 編華 東 師 大 信 息 學 院 計 算 中 心一 . 程 序 結(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ù) 游 戲 。 預 設(shè) 一 個 0 ~9 之 間 的 整 數(shù) , 讓 用 戶 猜 一 猜 并 輸 入 所 猜 的 數(shù) , 如 果大 于 預 設(shè) 的 數(shù) , 顯 示 “ 太 大 ” ; 小 于 預 設(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 . 在 當 前 目 錄 下 有 一 個 文 件 名 為 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. 當 前 目 錄 下 有 一 個 文 件 名 為 score1.txt 的 文 本 文 件 , 存 放 著 某 班 學 生 的 計 算 機 課 成 績 , 共 有 學 號 、 平 時 成 績 、 期 末 成 績 三 列 。 請 根 據(jù) 平 時 成 績 占 40%, 期末 成 績 占 60%的 比 例 計 算 總 評 成 績 ( 取 整 數(shù) ) , 并 分 學 號 、 總 評 成 績 兩 列 寫 入 另一 文 件 score2.txt。 同 時 在 屏 幕 上 輸 出 學 生 總 人 數(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("學 號 平 均 成 績 \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("學 生 總 人 數(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("學 號 平 均 成 績 \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("學 生 總 人 數(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. 當 前 目 錄 下 有 一 個 文 本 文 件 sample12.txt, 其 內(nèi) 容 包 含 小 寫 字 母 和 大 寫 字 母 。請 將 該 文 件 復 制 到 另 一 文 件 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. 當 前 目 錄 下 有 一 個 文 件 名 為 class_score.txt 的 文 本 文 件 , 存 放 著 某 班 學 生的 學 號 、 數(shù) 學 課 成 績 ( 第 2列 ) 和 語 文 課 成 績 ( 第 3 列 ) 。 請 編 程 完 成 下 列 要 求 :( 1) 分 別 求 這 個 班 數(shù) 學 和 語 文 的 平 均 分 ( 保 留 1位 小 數(shù) ) 并 輸 出 。( 2) 找 出 兩 門 課 都 不 及 格 ( <60) 的 學 生 , 輸 出 他 們 的 學 號 和 各 科 成 績 。( 3) 找 出 兩 門 課 的 平 均 分 在 90 分 以 上 的 學 生 , 輸 出 他 們 的 學 號 和 各 科 成 績 。建 議 用 三 個 函 數(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ù) 學 平 均 分 為 : %4 .1 f, 語 文 平 均 分 為 : %4 .1 f"%(avg1 ,avg2 ))def output_notpass(L):print("兩 門 課 均 不 及 格 的 學 生 學 號 及 數(shù) 學 、 語 文 成 績 為 : ")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é) 束 ) , 用 冒 泡 法 或 選 擇 法 進 行 排 序 ( 從 小 到 大 ) , 并 將 排 序 結(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. 當 前 目 錄 下 有 一 個 文 件 名 為 score2.txt 的 文 本 文 件 , 存 放 著 某 班 學 生 的 計算 機 課 成 績 , 共 有 學 號 、 總 評 成 績 兩 列 。 請 查 找 最 高 分 和 最 低 分 的 學 生 , 并 在屏 幕 上 顯 示 其 學 號 和 成 績 。參 考 答 案 :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ù) 進 行 判 斷 并 輸 出結(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
下載提示(請認真閱讀)
- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
文檔包含非法信息?點此舉報后獲取現(xiàn)金獎勵!
下載文檔到電腦,查找使用更方便
5
積分
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
-
華東師范大學
PYTHON
習題
選編
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://www.hcyjhs8.com/p-12746985.html