python期末考試試卷及解析
一、單項選擇題(每題 2 分,共 20 分)
1. 以下關(guān)于計算機和程序設(shè)計的說法錯誤的是( )。
A. 高級編程語言按照計算機執(zhí)行方式可分為靜態(tài)語言和腳本語言
B. 編譯是將源代碼轉(zhuǎn)換成目標代碼的過程
C. IPO 方法是一種按輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)的程序運算模式
D. Python 3.x 能夠向下兼容 2.x 系列程序
2. 下面不符合 Python 語言命名規(guī)則的變量名是( )。
A. monthly B. monthly3 C. 3monthly D. _Monthly3_
3.下列表達式值為 True 的是( )。
A. 5+4j > 2-3j B. 3 > 2 > 2 C. 1 == 1 and 2 != 1 D. not(1==1and 0!=1)
4. 表達式 eval('500/10')的結(jié)果是( )。
A. ‘500/10’ B. 500/10 C. 50 D. 50.0
5. 執(zhí)行下列語句后顯示的結(jié)果是( )。 >>> from math import sqrt >>> print( sqrt(3)*sqrt(3) == 3 ) A. 3 B. True C. False D. sqrt(3)*sqrt(3) == 3
6. 設(shè) s = “Hello Python!”,則 s[3:8]的值是( )。
A. ’llo Py’ B. ’lo Py’ C. ’llo P’ D. ’lo Pyt’
7. 循環(huán)結(jié)構(gòu)可以使用 Python 語言中的( )語句實現(xiàn)。
A . print B. while C. loop D. if
8. Python 提供的一個元素全為字符串的列表寫入文件的函數(shù)是( )。
A . write B. writeall C. writelist D. writelines
9. 下面不是正確的字典創(chuàng)建方式的是( )。
A . d={1:[1,2],3:[3,4]} B. d={[1,2]:1,[3,4]:3} C. d={(1,2):1,(3,4):3} D. d={1:(1,2),3:(3,4)}
10. 以下選項中不是 Python 科學計算和數(shù)據(jù)分析的第三方庫的是( )。
A . pandas B. numpy C. scipy D. requests
二、程序填空題(每空 2 分,共 10 分)
1、請寫出計算 x = 2 10 -1 的 python 表達式__________
2、利用 Python 內(nèi)置函數(shù)及 jieba 庫中已有函數(shù),計算字符串 s 的中文字符個數(shù)及中文詞語 個數(shù)。
import jieba s = “中國舉辦冬奧會”
n = __________
m = __________
print("中文字符數(shù)為{},中文詞語數(shù)為{}。".format(n, m))
3、變量 val = (3), 則 type(val)為__________
4、ls = list(range(5)),則 print(ls)的輸出為__________
三、程序理解題(每題 6 分,共 30 分)
1、請寫出下列程序的輸出結(jié)果:
for s in “python”:
? ? ?if s==”h”:
? ? ? ? ?continue
? ? ?print(s, end=””)
2、請寫出下列程序的輸出結(jié)果:
n = 1
def func(a, b):
? ? ?n = b
? ? ?return a*b
s = func(“Hello~”, 2)
print(s, n)
3、請寫出下列程序的輸出結(jié)果:
Dcountry = {“中國”:”北京”, ”美國”:”華盛頓”, ”法國”:”巴黎”}
for val in Dcountry:
? ? print(val)
4、對于以下程序,請寫出當從鍵盤輸入為 5 時程序的輸出結(jié)果。
try:
? ? ?alp = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”
? ? ?idx = eval(input(“請輸入一個整數(shù):”))
? ? ?print(alp[idx])
except NameError:
? ? ?print(“print 1”)
else:
? ? ?print(“print 2”)
finally:
? ? ?print(“print 3”)
5、請寫出下列程序的輸出結(jié)果:
def func(s, i, j):
? ? ? if i < j:
? ? ? ? ? ?func(s, i+1, j-1)
? ? ? ? ? ?s[i], s[j] = s[j], s[i]
def main():
? ? ? ? ? ?a = [10,6,23,-90,0,3]
? ? ? ? ? ?func(a, 0, len(a)-1)
? ? ? ? ? ?print(a)
main()
四、Python 編程題(每題 10 分,共 40 分)
1、采用遞歸的方法編寫函數(shù) fact(n)計算 n 的階乘并返回計算結(jié)果。
2、編寫函數(shù),輸入任意大的自然數(shù),輸出各位數(shù)字之和。
3、編寫程序統(tǒng)計文本文件 sample.txt(假設(shè) sample.txt 與程序文件位于同一目錄下)中最長 行的長度和該行的內(nèi)容,并返回統(tǒng)計結(jié)果。
4、編寫程序完成以下功能。 ①使用 numpy 庫創(chuàng)建出一個 3 行 5 列的全 1 的數(shù)組 a; ②使用 numpy 庫創(chuàng)建出一個 3 行 5 列的隨機數(shù)組 b; ③使用 numpy 庫計算數(shù)組 a 和數(shù)組 b 的和,并將結(jié)果保存到 a 中
答案
一、單項選擇題
1-10: DCCDC BBDBD
二、程序填空題
1 、 x=2**10-1 或 者 x=pow(2,10)-1
2、len(s),len(jieba.lcut(s))
3.<class'int'>
4、[0, 1, 2, 3, 4]?
三、程序理解題
1、 pyton
2、 Hello~Hello~ 1
3、 中國
? ? ? 美國
? ? ? 法國
4、 F print 2 print 3
5、 [3, 0, -90, 23, 6, 10]
四、Python 編程題
1、def fact(n):
? ? ? ? ? if n == 0:
? ? ? ? ? ? ? ?return 1
? ? ? ? ?return n*fact(n-1)
2、def getSum(n):
? ? ? ? ? ?s = str(n)
? ? ? ? ? ?sum = 0
? ? ? ? ? for x in s:?
? ? ? ? ? ? ? sum += eval(x)
? ? ? ? ? ?return int(sum)
3.

4、
import numpy as np
a = np.ones((3, 5))
b = np.random.rand(3,5)
np.add(a, b, a)