資源簡介 學號: 姓名: 班級:試卷 12、用 Python 編輯器打開文件“輸出 1 千到 1 萬之間的素數.py”,進行以下操作并保存結果。(1)素數也叫質數,是除了 1 和它自身沒有其它因數的自然數。(2)根據數學原理,判斷一個數 n 是否為素數只要判斷 2 到 n 的算術平方根之間是否存在 n 的因數,該算法 對于大整數的判斷速度有明顯提高。請填空完善該程序,實現功能:求 1000 到 10000 之間的素數。(3)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。# 輸出 1000-10000 之間的素數def isPrime(n): #定義函數 isPime 判斷參數 n 是否為素數,是返回 True,否則返回 False if n <= 1: #小于等于 1 的數不是素數return Falsefor i in range(2, int( ① ) + 1): # i 的范圍 2 到 n 的平方根取整,平方根用 n 的 0.5 次方計算if ②__: # 如果 i 是 n 的因數,則返回 False return Falsereturn Truefor x in range(1000,10001):if ③ : # 調用函數進行判斷 x 是否為素數print(x)① n**0.5 ② n%i==0 ③ isPrime(x)測試用例輸出:1000 至 10000 之間的全部素數3、用 Python 編輯器打開文件“找出三個數中最大的數.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:輸入任意三個不同的整數,輸出其中最大的一個數;(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。a=int(input("請輸入第一個數:"))① =int(input("請輸入第二個數:"))c=int(input("請輸入第三個數:"))if a>b:②else:max=b if ③ _:max=c print( ④ )① b ② max=a ③ maxmax ④ max測試用例輸入:輸入三個正整數 輸出:最大數(2022年信息技術學業水平合格性考試模擬考試程序設計題)(第1頁,共15頁) (2021年12月)試卷 22、用 Python 編輯器打開文件“求 pi 的近似值.py”,進行以下操作并保存結果。(1)填空完善該程序,實現功能:嘗試求解的近似值。 求解關系式為: 1 1 1 1 。4 3 5 7(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。# 求 pi 的近似值.pysum,a,b,t=0.0,1,1.0,1.0 #給各參數依次賦值while b<1000: sum=sum+ ① b= ②a= ③t=a/bpi = ④print("pi 的值是{:.20f}".format(pi)) # 輸出 20 位浮點型數值① t ② b+2 ③ -a ④ sum*4 或 4*sum測試用例將 while b<1000,修改為 while b<100000,更多項數參與運算后 pi 值更接近實際值,測試后恢復為原值。3、王同學每天英語單詞測試成績目前只能達到 50 分,滿分 150。他制定了每天提高成績 10%的目標,多久可以到 達 130 分?用 Python 編輯器打開文件“提高成績.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:求出王同學多少天成績能提高到 130 分。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。# 提高成績.py# 請刪除原題里序號及下劃線,填寫正確代碼。p = ①n = 0while p < ② : p+= p * ③ n+=1print("n=",__ ④ )input("運行完畢,請按回車鍵退出...")① 50 ② 130 ③ 0.1 ④ n測試用例輸出:n=11試卷 32、用 Python 編輯器打開文件“求最小公倍數.py”,進行以下操作并保存結果。(1)算法描述:最小公倍數初始值設為較大數,如果能整除,則較大數就是最小公倍數;如果不能整除,則 讓較大數乘以 2,3,4......遞增 1 的自然數,直到能整除為止。如:輸入“11,5”時,輸出結果為“55”,輸入“8,12” 時,輸出結果為“24”。(2)請填空完善該程序,實現功能:鍵盤上輸入兩個自然數 m 和 n(1≤n≤m≤1000),輸出這兩個自然數的最小 公倍數。(3)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。# 求最小公倍數 m=int(input("請輸入自然數 m:")) n=int(input("請輸入自然數 n:"))i=1if m(第3頁,共15頁) (2021年12月)m,n= ①#兩數交換(用大數翻倍)s=m #s 的初始值較大數while ② :i = i+1s = ③print( ④ )① n, m ② s%n!=0 ③ m*i 或 i*m ④ s測試用例輸入:35 45 輸出:3153、班級最后一排有 6 名學生,體育委員想編程實現最高身高和最矮身高。用 Python 編輯器打開文件“最高和最矮.py”, 進行以下操作并保存結果。(1)請填空完善該程序,實現功能:鍵盤依次輸入 6 名同學身高,輸出最高身高和最矮身高的值。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。# 最高和最矮.py,請刪除原題里序號及下劃線,填寫正確代碼。height=[]for i in range(0, ① ): x=float(input("請輸入身高:")) height.append( ② )print(max( ③ ), min(height))input("運行完畢,請按回車鍵退出...")① 6 ② x ③ height測試用例輸入:175 165 155 192 178 168 輸出:192 155試卷 42、用 Python 編輯器打開文件“編碼.py”,進行以下操作并保存結果。(見下左)(1)請填空完善該程序,實現功能:某種編碼由六位二進制碼組成,前三位表示方向,后三位表示距離。輸 入一組六位二進制碼,將編碼翻譯成方向和距離,距離值為每組編碼后三位二進制碼轉換為十進制數的值。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句(第4頁,共15頁) (2021年12月)''' 某種編碼由六位二進制碼組成,前三位表示方向,后三位表示距離。 輸入一組六位二進制碼,將編碼翻譯成方向和距離,距離值為每組 編碼后三位二進制碼轉換為十進制數的值。'''s =input("輸入六位二進制:")n = len(s)i = 0while i <= n-1:c =s[i:i+3]if c == "000":d = "東" elif c == "001":d = "東南" elif c == "010":d = "南"elif c == "011":d = "西南" elif c == "100":d = "西" elif c == "101":d = "西北" elif c == "110":d = "北" else:d = "東北" b1 = int(s[i + 3])b2 = int(s[i + 4])b3 = int(s[ ① ])# 反轉三位數.pyx= ① (input("請輸入一個任意三位 整數:"))ge= ②shi=x//10%10 bai= ③④ =ge*100+shi*10+bai print(y)第 2 題 編碼.py① int(s[i+5])② b1*2**2 + b2*2 + b3③ d④ i=i+6測試用例輸入:110101 輸出:北 5第 3 題 反轉三位數.py① int② x%10③ x//100④ yv= ②#實現三位二進制編碼到十進制的轉化print( ③ +" " + str(v)) #按格式要求打印輸出,如:東 7④ #調整 i 的值測試用例輸入:153 輸出:3513、用 Python 編輯器打開“反轉三位數.py”,進行以下操作并保存結果。(見上右)(1)請填空完善該程序,實現功能:輸入一個任意三位整數,將它反轉輸出,例如 369 反轉成 963。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。試卷 52、用 Python 編輯器打開文件“打的計費.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:2 公里(包括 2 公里)內,起步價為 5 元,超過 2 公里部分(不足整公里 的,向上取整),每公里 1.6 元。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。import ①# 引用 math 庫s = ② (input("請輸入你要去目的地距離出發點的公里數:"))if ③ : # 2 公里(包括 2 公里)內cost = 5 else:cost = 5+math.ceil(s-2)*1.6 print("你的打的費用是", ④ , "元")① math ② float ③ s<=2 ④ cost測試用例輸入: 1.9 2 2.1 8輸出: 5 5 6.6 14.63、用 Python 編輯器打開文件“計算 1-2+3-4…+99-100 的值.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:計算表達式 s=1-2+3-4……+99-100 的值并輸出結果;(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。s=0for i in range(1, ① ):if ② :s=s-ielse:③print( ④ )① 101 ② i%2==0 ③ s=s+i ④ s測試用例輸出: -50試卷 62、用 Python 編輯器打開文件“尼拉坎特哈級數求 π 近似值.py”,進行以下操作并保存結果。(1)計算 π 的方法有很多種,印度數學家尼拉坎特哈發現了一個可用于計算 π 的無窮級數,其展開公式如下:(2)請觀察各分數項符號和分母的規律,編寫代碼實現求項數為 100 時的 π 近似值。(3)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。op=1 #op 保存分數項前的符號,取值為 1 或-1pi=3for i in range(2, 101, ① ):pi = pi + ②# 循環迭代求 pi 的近似值op = - ③# 分數項前的符號系數變成原來的相反數print( ④ _)① 2 ② 4*op/(i*(i+1)*(i+2)) ③ op ④ pi測試用例輸出: 的近視值;修改“for i in range(2, 101, ① )”為“for i in range(2, 10001, ① )”,增加項數后值更精確。3、用 Python 編輯器打開文件“求圓的周長和面積.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:輸入圓的半徑 r,計算它的周長和面積并輸出。 例如: 輸入:1輸出:6.28 3.14(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。r=float(input("請輸入圓的半徑:"))①②# 計算圓的周長 c,其中π用 3.14 表示# 計算圓的面積 s③ (c,s) #輸出圓的周長 c 和面積 sc=2*3.14*r ② s=3.14*r*r ③ print測試用例輸入: 1 2 4輸出: 6.28 3.14 12.56 12.56 25.12 50.24試卷 72、用 Python 編輯器打開“能力值.py”,進行以下操作并保存結果。(1)俗話說“日有所進,月有所長”,假設每個人的初始能力值是 1,經過一天的努力學習和工作后,能力會 比之前增長 1%。(2)如果周一到周五努力學習提升能力,而周末休息,且休息一天能力就降低 1%。同時通過取余運算來判斷 某一天是學習日還是休息日,如果余數是 0 或者 6,那么這一天就是休息日;余數是其他數值時,這一天是學習日。(3)請完善程序,計算兩種情況下,一年后能力值增長情況。 注:程序修改時,請把題目序號刪除;不能刪除注釋語句。#天天向上dayup=1 #設置 dayup 為能力值,factor 為能力變化幅度factor=0.01for i in range(0, ① ):dayup = ② * (1+factor)print("天天向上的能力值:%.2f" % dayup)#五上二下dayup=1for i in range( ③ ):if ④ in [6, 0]: # 判斷是否為休息日,是則能力下降;否則能力上升。dayup = dayup*(1-factor)else:dayup = dayup*( ⑤ )print("向上 5 天向下 2 天的能力值:%.2f" % dayup) # 打印結果① 365 ② dayup ③ 1,366 ④ i%7⑤ 1+factor測試用例輸出:天天向上的能力值:37.78 向上 5 天向下 2 天的能力值:4.723、用 Python 編輯器打開“求階乘和.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能輸出:s=1!+2!+3!+4!+5!說明:n!=1×2×3×4…×n,例如:3!=1×2×3。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。#請刪除序號及下劃線,填寫正確的代碼,使程序完善。s=0n= ①for i in range(1, ② ):n=n*is= ③print("1!+2!+3!+4!+5!=",s)① 1 ② 6 ③ s+n測試用例輸出: 153試卷 82、用 Python 編輯器打開文件“成績等級.py”,進行以下操作并保存結果。(1)學期末,李老師要根據學生的總成績給出相應的等級:成績 90 分及以上(包含 90 分)等級為“優秀”, 成績在 90 和 75(包含 75 分)之間等級為“良好”,成績在 75 和 60(包含 60 分)之間等級為“合格”,60 分以下 為“不合格”。其中信息技術課的“總成績=0.3*平時成績+0.7*期末成績”(注意:平時成績和期末成績的滿分均為100 分)。(2)請填空完善該程序,實現功能:輸入平時成績和期末成績,輸出學生的成績等級。(3)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。#此程序功能是實現輸出成績等級。pscore=int(input("請輸入平時成績:"))#輸入平時成績(第10頁,共15頁) (2021年12月)qscore= ①score= ②if score>100 or score<0:#請輸入期末成績#計算總成績print("你的成績輸入有誤")elif ③ : # 優秀等級的條件print("優秀")elif score>=75:④elif score >= 60:# 輸出相應等級print("合格")⑤ :print("不合格")① int(input("請輸入平時成績:")) ② pscore*0.3+qscore*0.7③ score>=9 0 ④ print("良好") ⑤ else測試用例輸入: 101 -20 99 90 89 75 74 60 59 40輸出: 你的成績輸入有誤 優秀 良好 合格 不合格3、用 Python 編輯器打開文件“求組合數.py”,實現以下功能并保存結果。(1)請填空完善該程序,實現功能:計算組合數 C nn! ,其中 n!=1×2×……×n,m 和 n 均為正整數,且 m≤n≤1000。(2)編寫完成后原名保存并關閉應用軟件。()def fac(n): #用遞歸的方法求 n!if n == 0:m m!*(n m)!else:return 1return n* ①測試用例輸入: 10 2 100 4輸出: 45 3921225n=int(input("請輸入正整數 n 的值:"))m=int(input("請輸入正整數 m 的值(m<=n):"))c = ②__//(fac(m)* ③ )print(c)① n*fac(n-1) ② fac(n) ③ fac(n-m)試卷 92、用 Python 編輯器打開文件“區間測速.py”,進行以下操作并保存結果。(1)國內很多路段都啟用了區間測速,所謂區間測速,是在同一路段上布置兩個監測點,基于車輛通過前后 兩個檢測點的時間,來計算車輛在該路段上平均行駛速度。現在有一段長為 3 千米的區間測速橋梁,車輛的限速是60 千米/時。(2)請你填空完善該程序或刪除原有程序自己編寫一段程序,來判斷某車輛在此測速路段是否超速。(3)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。s = 3time = float( ① ("請輸入車輛通行時間(用秒計時):"))v = ②if ③ :print("正常行駛,祝你一路順風!")else: print("你的車速為",round(v,1),"千米/時") print("你已超速,請安全駕駛")① input ② 3*3600/time*3600 ③ v<=60測試用例輸入: 240 180 179 150輸出: 正常行駛,祝你一路順風! 正常行駛,祝你一路順風! 超速提示3、用 Python 編輯器打開文件“水仙花數.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能輸出所有水仙花數。水仙花數是指一個三位數它的每一位上的數字的 3 次 方之和等于它本身。例如:三位數 153 滿足:13+53+33=1+125+27=153,則 153 是水仙花數。設變量 i,j,k 分別用 于存放個位、十位和百位上的數。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。#請刪除序號及下劃線,填寫正確的代碼,使程序完善。for x in range(100,1000):i= ①#個位數j=(x//10)%10 #十位數k= ②if x== ③ :print("水仙花數是",x)#百位數① x%10 ② x//100 ③ i**3+j**3+k**3 / i*i*i + j*j*j + k*k*k測試用例輸出: 153 370 371 407試卷 A2、用 Python 編輯器打開“考生文件夾\113”下的文件“打印矩形.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:按程序提示依次輸入行和列的數字,則按行列打印由“*”組成的矩形。測試用例 例如,按提示 輸入: 請輸入行數:3 請輸入列數:5屏幕將打印圖形 即輸出: ***************(2)編寫完成后原名保存并關閉應用軟件。注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。a=int(input("請輸入行數:"))b= ①for i in range( ② ):for j ③print( ④ _,end='') #end=''表示接上一個輸出項后輸出,不換行print()① int(input("請輸入行數:")) ② 0, a③ 0, b ④ "*"3、用 Python 編輯器打開“考生文件夾\96”下的文件“三角形面積.py”進行以下操作并保存結果。( 1 ) 海 倫 公 式 是 利 用 三 角 形 的 三 條 邊 的 邊 長 直 接 求 三 角 形 面 積 的 公 式 , 表 達 式 為 :,其中 p 是三角形的周長的一半。(2)請填空完善該程序,輸入三條邊長,判斷能否構成三角形。如果能構成三角形就計算該三角形的面積并 輸出,否則提示不能構成三角形。(3)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。#請刪除序號及下劃線,填寫正確的代碼,使程序完善。import math a=float(input("請輸入第一條邊長:")) b=float(input("請輸入第二條邊長:")) c=float(input("請輸入第三條邊長:")) if(a+b>c)and(a+c>b)and( ① ):p= ②s=math.sqrt(p*(p-a)*(p-b)*(p-c))print(a,b,c,"能構成三角形!","三角形的面積為:", ③ )④ :print(a,b,c,"不能構成三角形!")① b+c>a ② (a+b+c)/2 ③ s ④ else測試用例輸入: 5 / 4 / 3 8 / 6 / 2 18 10 5輸出: 構成三角形,面積 6 不能構成三角形! 不能構成三角形!試卷 B2、用 Python 編輯器打開文件“干支紀年、py”,進行以下操作并保存結果。(1)干支紀年是一種紀年歷法,中國歷史上很多重大事件都是以此命名的,例如:1894 年甲午戰爭,1911 年 辛亥革命等。把十天干(甲、乙、丙、丁、戊、己、庚、辛、壬、癸)與十二地支(子、丑、寅、卯、辰、巳、午、 未、申、酉、戌、亥)順序相配來記錄年份,如:甲子、乙丑、丙寅…………一個周期為 60 年。對干公元后年份 的干支紀年計算方法為:公元年數先減 3 得到基數,基數除以 10,余數是天干,基數除以 12 余數則是地支。例如:1894-3=1891,1891 除以 10 余 1,天干是“甲”,1891 除以 12 余 7,地支是“午”,即 1894 年為甲午年。如果余數 為 0,則為天干或地支列表中的最后一位,辛亥年的地支就是這樣求得。(2)請填空完善該程序,運行后按程序提示輸入:測試用例 請輸入年份: 1894 2021 2023屏幕將輸出結果為:1894 年是:甲午年 辛丑年 癸卯年(3)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。a = ['甲', '乙', '丙', '丁', '戊', '已', '庚', '辛', '壬', '癸']b = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']year1=int(input('請輸入年份:'))year2= ①x=year2% ②if x==0:x=10y= ③if y==0:y= ④print(year1,'年是:',a[x-1]+b[ ⑤ ]+'年')① year1-3 ② 10 ③ (year1-3)%12 ④ 12⑤ y-13、用 Python 編輯器打開文件“判斷正負數還是零、py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:輸入一個數,如果這個數大于 0 輸出“正數”,如果小于 0 輸出“負數”, 如果等于零則輸出“零”。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。x=float(input("請輸入一個數:"))if ①print(x,"為正數")②print(x,"為負數")else:③① x>0 ② elif x<0 ③ print(x,"為零")測試用例輸入: 1 -20 0輸出: 1 為正數 -20 為負數 0 為零試卷 C2、用 Python 編輯器打開文件“值班.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:某醫院內科有 a,b,c,d,e,f,g 七位醫生,他們在一星期內每天值一次班,排班的要求為:(1)a 醫生值班比 c 醫生晚一天 (2)d 醫生值班比 e 醫生晚兩天(3)b 醫生值班比 g 醫生早三天 (4)f 醫生值班日在 b、c 醫生值班日之間,且在星期四。打印出每個醫生的值班表(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。'''某醫院內科有 a,b,c,d,e,f,g 七位醫生,他們在一星期內每天值一次班,根據排班要求打印出值班表。'''# 用列表結構列出 Monday~Sunday days=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday", ① ] for a in range(7):for b in range(7):if a!=b:for c in range(7):if (c!=a) and (c!=b):for d in range(7):if (d!=a) and (d!=b) and (d!=c):for e in range(7):if (e!=a) and (e!=b) and (e!=c) and (e!=d):for f in range(7):if (f!=a) and (f!=b) and (f!=c) and (f!=d) and (f!=e):for g in range(7):if (g!=a) and (g!=b) and (g!=c) and (g!=d) and (g!=e) and (g!=f):# 用條件表達式表示出符合要求的排班if (a == c+1) and (d == ② ) and (b == g-3) and (f > b) and (f< c) and (__③ ):# 打印輸出每個醫生的排班結果 print("a 醫生:", ④ , '\n') print("b 醫生:",days[b],'\n')print("c 醫生:",days[c],'\n') print("d 醫生:",days[d],'\n') print("e 醫生:",days[e],'\n') print("f 醫生:",days[f],'\n') print("g 醫生:",days[g],'\n')① "Sunday" ② e+2 ③ f==3 ④ days[a]測試用例 輸出: a 醫生: Sunday b 醫生:Tuesday c 醫生: Saturday d 醫生: Wednesdaye 醫生: Monday f 醫生: Thursday g 醫生: Friday3、極差又稱范圍誤差,即一組數據中,最大值減最小值后所得數據。用 Python 編輯器打開文件“極差.py”,請完善程序并保存結果。(1)請填空完善該程序n=int(input("請輸入一個整數:"))m=int(input("請輸入一組數據的第一個數:"))實現功能:求出一組數據中的極差并輸出。 ① =m(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。① min② min③ max=t④ max-min測試用例 輸入:5 / 190 185 155 160 120 輸出:70max=mfor i in range(1,n): t=int(input("請輸入后續的數:")) if t< ② :min=t if t>max:③print( ④ ) #輸出極差的值input("運行完畢,請按回車鍵退出…")試卷 D2、用 Python 編輯器打開文件“麥粒.py”,進行以下操作并保存結果。(1)《宰相的麥子》講的是一位國王要獎勵國際象棋發明者,獎勵方法為在棋盤上第一格放一粒麥子,第二格 放二粒,第三格放四粒……按后面一格的麥子總是前一格麥子數的兩倍這個比例,放滿整個棋盤 64 格格子。結果 傾全國之力也無法完成這個獎勵。相比較古代,現在生產力水平有了大幅度提高,2020 年我國糧食總產量 66949 萬 噸,1 公斤麥子大概 5000 粒左右,請利用程序計算:以 2020 年我國的糧食總產量能放滿棋盤的多少格?(2)請填空完善該程序,實現功能:計算 2020 年我國全國糧食總產量折算成麥粒的數量,輸出每格棋盤放多 少粒麥子,且這些麥粒按照規則可以填滿棋盤的格數。(3)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。# 開始sum=669490000000*5000 #計算麥粒的總量wheat = ①# wheat 為每個棋盤上放的麥子數,賦初值count = 1 # count 為棋盤的格數while sum>0:sum=sum-wheat #計算放了麥粒后還剩的麥子數#輸出每格棋盤上放的麥子數,以及還剩的麥子數print(f"第{count}格上的應放米粒數為{ ② },還剩麥粒總數為{sum}")wheat = 2** ③# 計算每格棋盤上的麥粒④# 棋格遞增一#輸出我國 2020 年全國糧食產量可以放到棋盤的第幾格if sum==0:print("2020 年我國全國糧食產量可以放滿棋盤的",count-1,"格")else:print("2020 年我國全國糧食產量可以放滿棋盤的", ⑤ , "格")① 1 ② wheat ③ count④ count+1 / count += 1 / count++ ⑤ count-2測試用例 輸出: 第 52 格上的應放米粒數為 2251799813685248,還剩麥粒總數為-11561496273704952020 年我國全國糧食產量可以放滿棋盤的 51 格3、用 Python 編輯器打開文件“判斷 BMI.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:輸入身高和體重,計算出體重指數 BMI 的值。體重指數的計算方法:體 重/(身高*身高),說明:體重的單位為千克,身高的單位為米。(2)如果體重指數 BMI 范圍是 18、5~23、9 輸出“符合標準”否則“不符合標準”。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。#請刪除序號及下劃線,填寫正確的代碼,使程序完善。 height=float( ① ("請輸入你的身高(米):")) weight=float( ② ("請輸入你的體重(千克):")) BMI= ③if ④ _:print("你的體重指數 BMI 為:",BMI,"符合標準!")else:print("你的體重指數 BMI 為:",BMI,"不符合標準!")① input ② input ③ BMI=weight/(height*height) / BMI=weight/height/height④ BMI>=18.5 and BMI<=23.9測試用例 輸入: 1.75 / 63 178 / 80輸出: 你的體重指數 BMI: 20.571428571428573 符合標準! 25.24933720489837 不符合標準!試卷 E2、用 Python 編輯器打開文件“猜數.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:隨機產生一個 0~99 內的整數,在給定的次數內進行猜數。如果猜的數 大,提示“大了”,如果猜的數小了,提示“小了”,如果猜對了,提示“恭喜你,答對了!”,并給出猜的次數。如 果在給出的猜測的次數內沒有猜對,提示“機會用完了,再來一次!”。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。# 程序初始化,并隨機產生一個 0-99 的整數作為秘密數import ①import math# 導入隨機數模塊① randomsecret=random.randint(0,99)guess=0 ② 0tries = ②# 嘗試次數賦初值③ tries=tries+1 / tries +=1#給定猜測次數 nn=6# 打招呼 print('嗨,你好!今天我們來玩一個猜數游戲。') print('這個數字在 0-99 之間,我給你 6 次機會。')#得到玩家猜的數,并判斷大小,最多允許 n 次while tries④ tries⑤ secret③# 嘗試次數加 1測試用例guess = int(input("請輸入你猜的數:"))if guess > secret:print("大了")elif guess < secret:print("小了")else:按二分法猜數,不超過 6/7 次print("恭喜你,答對了!猜了", ④ , "次,")#如果給出猜測的次數內沒有猜對,則提示機會用完了,再來一次。if tries == n and guess != ⑤ :print("機會用完了,再來一次!")3、小明想用壓歲錢環游中國,媽媽告訴他大約需要 30000 元,但現在小明只有 5000 元。他請媽媽幫忙存在銀行里, 銀行年利息 3.7%,小明幾年能存夠?用 Python 編輯器打開文件“存錢旅游.py”,進行以下操作并保存結果。(1)請填空完善該程序,幫小明計算幾年后可以環游中國。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。#請刪除原題里序號及下劃線,填寫正確代碼。money=5000 year=0① money<30000:money= ②year= ③print( ④ ,"年后可以環游中國")input("運行完畢,請按回車鍵退出...")① while ② money=money*(1+0.037) / money=money*1.037 / money *= 1+0.037 / money*=10.37③ year+1 ④ year測試用例 輸出:50試卷 F2、用 Python 編輯器打開文件“凱撒密碼.py”,進行以下操作并保存結果。(1)凱撒密碼是一種移位密碼,明文中的所有字母都在字母表上向后按照一個固定數目(密鑰)進行偏移后 被替換為密文。(2)請填空完善該程序,實現功能:輸入一串字符串(message)和一個數字(key),對這串字符進行加密(向 后移位 key 位,只對 26 個英文字母加密)。(3)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。import math import random import os#定義加密函數,對字母進行加密,即向后移動 key 位,其他字符不加密。def cipher(befmessage, key):aftmessage = ''for char in befmessage:if char.isupper(): #對大寫字母進行加密code = ord('A')+(ord(char)-ord('A')+key) % 26 aftmessage = aftmessage+chr(code)elif char.islower(): #對小寫字母進行加密code = ①__+(ord(char) - ord('a') + key) % 26aftmessage = ② +chr(code)else:aftmessage = aftmessage+char#字母以外的其他字符不進行加密return aftmessage#主程序message = input('請輸入明文:')key = ③ (input('請輸入密鑰(整數):')) # 輸入數字密鑰secret = cipher(message, ④ )print('加密后的密文是:', ⑤ )# 結束① ord('a') ② aftmessage ③ int ④ key⑤ secret測試用例 輸入:I am 16 years old。 / 5 輸出:N fr 16 djfwx tqi。3、用 Python 編輯器打開文件“求奇數的和.py”,進行以下操作并保存結果。(1)請填空完善該程序,實現功能:求 1 到 100 之間所奇數的和。(2)編寫完成后原名保存并關閉應用軟件。 注:程序修改時,請把下劃線及序號刪除;不能刪除注釋語句。s=0 #s 中存放 1-100 之間所有奇數的和for i in range(_①_, 100, _②_):s = ③print(s)① 1 ② 2 ③ s+i測試用例 輸出:2500 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫