吳輝呆呆吳輝
一、單選題 ( 本大題 10 道小題 ,每小題 1.5 分,共 15 分),從下面題目給出的A、B、C、D四個可供選擇的答案中選擇一個正確答案,
1.已知 x, y = 1, 2,那么執行x, y = y, x 之后,x的值為____D_____,
A.1
B.(1, 2)
C.不符合語法,報錯
D.2
2.已知 x = ‘abcdefg’,若要得到’defgabc’結果,應使用運算式______A____________,
A.x[3:] + x[:3]
B.x[:3] + x[:3]
C.x[3:] + x[3:]
D.x[:3] + x[3:]
3.執行結果為[1, 2, 3, 1, 2, 3, 1, 2, 3] 的運算式是__________D__________,
A.[1,2,3]+ [1,2,3]
B.[‘1’,‘2’,‘3’]+ [‘1’,‘2’,‘3’]+ [‘1’,‘2’,‘3’]
C.[1, 2, 3]**3
D.[1, 2, 3]*3
4.運算式 (1, 2, 3)+(4, 5) 的值為________B_________,
A.(5,7,3)
B.(1, 2, 3, 4, 5)
C.(1,6,8)
D.(15,)
5.下列關于字典物件方法的描述,不正確的是___D____,
A.方法get()可以獲取指定“鍵”對應的“值”,并且可以在指定“鍵”不存在的時候回傳指定值,如果不指定則回傳None
B.方法items()回傳字典中的“鍵-值對”串列
C.方法keys()回傳字典的“鍵”串列
D.“字典[鍵]”的運算式(例如dict[‘name’])的結果與方法get()的結果完全相同
6.Python的分支陳述句可使用關鍵字___C___,
A.then
B.else if
C.elif
D.elseif
7.在回圈陳述句中,____A_____陳述句的作用是提前結束所在回圈體,
A.break
B.while
C.for
D.continue
8.已知有函式定義
def demo(x):
return x**2
則該函式用lambda運算式應表示為____C____,
A.x:lambda x**2
B.x:x**2(lambda)
C.lambda x:x**2
D.x**2: lambda x
9.下面代碼對文本檔案“text.txt”操作后,變數a的資料型別是___A____,
MyFile=open(‘text.txt’,‘r’)
a=MyFile.readline()
A.字串
B.串列
C.元組
D.字典
10.描述物件靜態特性的資料稱為____C____,
A.方法
B.型別
C.屬性
D.訊息
二、程式填空題 ( 本大題 2 道小題 ,每空 2.5 分,共 20 分),
- 程式功能為:輸入十進制整數和欲轉換的進制數r,將十進制轉換為r進制,編程思想為:呼叫函式DToR,逐位求模,若該位為大于9的數,則以字母代表(提示:大寫字母’A’的ASCII碼值等于65);若該位為9以下的數,則轉換為字符格式,從低位至高位連接字串并回傳結果,

def DToR(m,r):
t=__(1)’’____
while m!=0 and r!=0:
c=m % r #求模
if (c>9):
t=chr(c-10+65)+t
else:
t=_____(2)str(c)_____+t
m = m // r #整除
return_____(3)t_____
while True:
ipt=input("請輸入十進制整數('q' 退出程式):\n")
if ipt=='q':
break
r=int(input("請輸入欲轉換進制(如2,8,16等):\n"))
rst=DToR(______(4)int(ipt)______,r)
print('將%s轉換為%d進制的結果為:%s' %(ipt,r,rst))
- 某班男女兩隊同學各若干人,已按身高由低到高存放在兩個串列中,體育課排隊欲由男、女兩隊合為一隊,請保持從低到高的順序不變,將合并佇列的結果按格式"身高(性別)"輸出,如下圖所示,

boy = [1.69, 1.72, 1.78, 1.83, 1.89]
girl = [1.61, 1.64, 1.65, 1.72]
i = j = 0
print('男隊身高:', end='')
for b in boy:
print(b, end=' ')
print('\n女隊身高:', end='')
for g in girl:
print(g, end=' ')
print('\n合并后:', end='')
while i < len(boy) and j < len(girl):
if boy[i] < girl[j]:
print(____(1)boy[i]____, '(男)', sep='', end = ' ')
i += 1
else:
print(____(2)girl[j]____, '(女)', sep='', end = ' ')
j += 1
while i < ____(3)len(boy)____:
print(boy[i], '(男)', sep='', end = ' ')
i += 1
while j < len(girl):
print(girl[j], '(女)', sep='', end = ' ')
j = ____(4)j+1____
三、程式除錯題********(********本大題3道小題,********各有3處語法或邏輯錯誤********,根據題目功能描述,在C:\KS\相應程式中,********不增刪陳述句,********除錯修改錯誤,實作功能,請在改正過的陳述句后面以“********####********”作為標記,********每題10分,共30分********)
- 除錯題1
某理財產品的每日收益率如下表所示,按日計算收益(不計復利),
| 天數 | 每日收益率 |
|---|---|
| 1≤T<90 | 0.00015 |
| 90≤T<180 | 0.00020 |
| 180≤T | 0.00025 |
c:\ks\程式除錯題1.py程式的功能:輸入理財產品金額和存款天數,計算預計收益金額,

s = input('請輸入購買理財產品金額:')
money=float(s)
s = input('請輸入存款天數:')
days = int(s)
if 1 <= days < 90:
rate = 0.00015####
elif 90 <= days < 180:####
rate = 0.00020
else:
rate = 0.00025
income = money * rate *days####
print('收益金額為:',income)
2.除錯題2
c:\ks\程式除錯題2.py程式的功能:輸入正整數作為行數,用字母輸出每行固定4個字符的平行四邊形圖案,結果如下圖所示,

s = input('輸入行數:')
line=int(s)
for i in range(line):####
space=line-1-i
print(' '*space, end = '')####
ch = chr(ord('A') + i)
print(ch*4) ####
- 除錯題3
c:\ks\程式除錯題3.py程式的功能:某共享單車的收費標準按用戶型別不同計價,合作院校師生:0.5元/小時,其他用戶:1元/小時,編程實作根據用戶型別和使用時間計算支付費用,

p=[0.5,1.0] #單價
tn=['合作院校師生','其他用戶']
while True:
sel=input('請輸入用戶選擇:0為合作院校師生,1為其他用戶,輸入其他字符為退出')
if sel not in (str(0),str(1)):####
break
time=float(input('請輸入騎行時間'))####
fee=p[int(sel)] * time
s='{}騎行{}小時,收費{}元'.format(tn[int(sel)], time, fee)
print(s)####
四、編程題(共35分)
1.資料分析題(17分):
“C:/素材/BP.txt”是以逗號分隔的日期、血壓、心率記錄資料文本檔案(區域如下圖所示)

請找出并列印收縮壓<140而心率>75的記錄,并統計收縮壓的總平均值(保留3位小數),運行結果(區域)如圖所示,程式保存在C:\KS目錄下,名為****4_1.py**** ,不必生成.exe檔案,

資料分析題運行結果區域圖
txt = open('C:/素材/BP.txt', 'r')
nr = txt.readlines()
list = []
for line in nr:
line = line.strip('\n')
lists = line .split(',')
list.append(lists)
ans = 0
for a in range(1, len(list)):
if (int(list[a][1]) < 140) and (int(list[a][3]) > 75):
print('符合條件的計入為:時間:' + str(list[a][0]) + ',收縮壓:' + str(list[a][1]) + ',舒張壓:' + str(list[a][2]) + ',心率:' + str(list[a][3]))
ans = ans + int(list[a][1])
print('收縮壓平均值:' + str(ans/(len(list)-1)))
a = input()
2.運算題(18分):
計算結果由兩部分構成:
(1)輸入要計算的多項式項數值n(1≤n<10),計算下列多項式的前n項之和,

(2)“c:\素材\AIfuna-1.0-py3-none-any.whl”是某第三方智能演算法包,其中包含兩個函式funa(x)和funb(x),傳入和輸出均為數值型別,請匯入第三方包aifuna,并計算aifuna.funb(n)的結果(n為上述多項式項數),
將兩部分計算結果求和輸出為總結果 s+ aifuna.funb(n),程式保存在c:\ks目錄下,名為 ****4_2.py****,

計算題運行結果圖
import aifuna
n = int(input("請輸入正整數(輸入0退出程式):"))
s = 0
for i in range(1, n + 1):
s = s + ((-1) ** i) * ((2 * i - 1) / ((2 * i + 1)*(i + 1)))
print('該多項式前 ' + 'n' + ' 項之和為 ' + str(s))
ans = s + aifuna.funb(n)
print('總和為 ' + str(ans))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/226232.html
標籤:python
