又快臨近期末考試了,小伙伴們是不是又開(kāi)始焦慮了呢?掛科怎么辦?如果很幸運(yùn)看到我的文章,你就偷著樂(lè)吧,我總結(jié)出:一般python期末考試?yán)蠋焸冏類(lèi)?ài)考的內(nèi)容,一定要好好看啊,爭(zhēng)取做到python不掛科;還有暑假馬上來(lái)了,小伙伴們可以在閑暇之際,看看小猿圈的視頻,為以后找工作墊墊基礎(chǔ),也是很不錯(cuò)的。
創(chuàng)新互聯(lián)專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、雜多網(wǎng)絡(luò)推廣、成都小程序開(kāi)發(fā)、雜多網(wǎng)絡(luò)營(yíng)銷(xiāo)、雜多企業(yè)策劃、雜多品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供雜多建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
一、選擇題
1、已知x=[1,2]和y=[3,4],那么x+y等于什么(? )
A、3? ? ? ? ? ? B、7? ? ? ? ? ? C、[1,2,3,4]? ? ? ? ? D、[4,6]
2、os.path模塊的下列方法,哪個(gè)是用來(lái)判斷指定路徑是否存在的?(? )
A、exists()? ? ? B、exist()? ? ? ? C、getsize()? ? D、isfile()
3、以下選項(xiàng)中不是 Python 對(duì)文件的寫(xiě)操作方法的是 ( D )
A、 writelines? ? ? B、write? ? ? ? C、rite 和 seek? ? ? ? D、writetext
4、關(guān)于算法的描述,以下選項(xiàng)中錯(cuò)誤的是? ( B )
A、算法是指解題方案的準(zhǔn)確而完整的描述
B、算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和數(shù)據(jù)復(fù)雜度
C、算法具有可行性、確定性、有窮性的基本特征
D、算法的基本要素包括數(shù)據(jù)對(duì)象的運(yùn)算和操作及算法的控制結(jié)構(gòu)
解釋?zhuān)核惴◤?fù)雜度是指算法在編寫(xiě)成可執(zhí)行程序后,運(yùn)行時(shí)所需要的資源,資源包括時(shí)間資源和內(nèi)存資源。
5、.關(guān)于Python的lambda函數(shù),以下選項(xiàng)中描述錯(cuò)誤的是 ( B )
A、 lambda函數(shù)將函數(shù)名作為函數(shù)結(jié)果返回
B、f = lambda x,y:x+y 執(zhí)行后,f的類(lèi)型為數(shù)字類(lèi)型
C、lambda用于定義簡(jiǎn)單的、能夠在一行內(nèi)表示的函數(shù)
D、可以使用lambda函數(shù)定義列表的排序原則
6、基本的Python內(nèi)置函數(shù)eval(x)的作用是 ( B )
A、 將x轉(zhuǎn)換成浮點(diǎn)數(shù)
B、去掉字符串x最外側(cè)引號(hào),當(dāng)作Python表達(dá)式評(píng)估返回其值
C、計(jì)算字符串x作為Python語(yǔ)句的值
D、 將整數(shù)x轉(zhuǎn)換為十六進(jìn)制字符串
二、填空題
1、 在Python中____表示空類(lèi)型。(None)
2、 查看變量類(lèi)型的Python內(nèi)置函數(shù)是______。(type())
3、list(map(str, [1, 2, 3]))的執(zhí)行結(jié)果為_(kāi)__________。([‘1’, ‘2’, ‘3’])
4、 Python標(biāo)準(zhǔn)庫(kù)math中用來(lái)計(jì)算平方根的函數(shù)是____。(sqrt)
5、 假設(shè)有列表a = [‘name’, ‘a(chǎn)ge’, ‘sex’]和b = [‘Dong’, 38, ‘Male’],請(qǐng)使用一個(gè)語(yǔ)句將這兩個(gè)列表的內(nèi)容轉(zhuǎn)換為字典,并且以列表a中的元素為“鍵”,以列表b中的元素為“值”,這個(gè)語(yǔ)句可以寫(xiě)為_(kāi)__________。(c = dict(zip(a, b)))
三、簡(jiǎn)答題
1、簡(jiǎn)單解釋Python基于值的自動(dòng)內(nèi)存管理方式?
----Python采用的是基于值得內(nèi)存管理方式,在Python中可以為不同變量賦值為相同值,這個(gè)值在內(nèi)存中只有一份,多個(gè)變量指向同一個(gè)內(nèi)存地址;Python具有自動(dòng)內(nèi)存管理功能,會(huì)自動(dòng)跟蹤內(nèi)存中所有的值,對(duì)于沒(méi)有任何變量指向的值,Python自動(dòng)將其刪除。
2、異常和錯(cuò)誤有什么區(qū)別?
----異常是指因?yàn)槌绦驁?zhí)行過(guò)程中出錯(cuò)而在正常控制流以外采取的行為。嚴(yán)格來(lái)說(shuō),語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤不屬于異常,但有些語(yǔ)法錯(cuò)誤往往會(huì)導(dǎo)致異常,例如由于大小寫(xiě)拼寫(xiě)錯(cuò)誤而訪問(wèn)不存在的對(duì)象,或者試圖訪問(wèn)不存在的文件,等等。
3、請(qǐng)用自己的算法, 按升序合并如下兩個(gè)list, 并去除重復(fù)的元素:
? list1 = [2, 3, 7, 4, 9, 5, 6,18]
? list2 = [5, 6, 10, 17, 3, 2,1]
----先轉(zhuǎn)換成集合自動(dòng)去重,再轉(zhuǎn)換成列表
? list1=[2, 3, 7, 4, 9, 5, 6,18]
? list2=[5, 6, 10, 17, 3, 2,1]
? list3=list(set(list1+list2))
4、求結(jié)果
def num():
? return [lambda x: i*x for i in range(4)]
? print([m(2) for m in num()])
? 答案:[6, 6, 6, 6]
5、如何生成一個(gè)隨機(jī)數(shù)?
import random
def rdm(n):
lis = []
for i in range(n):
n = random.randint(1,9)
lis.append(str(n))
? s = ''.join(lis)
? return int(s)
這套題就到這里,同學(xué)們做的怎么樣啊,如果是毫無(wú)壓力,那估計(jì)你這個(gè)學(xué)期學(xué)的python還闊以了,如果有點(diǎn)難度,那就要仔細(xì)看看了,因?yàn)檫@套題很基礎(chǔ),看哪沒(méi)有學(xué)明白,好好看看那一部分的內(nèi)容,自己復(fù)習(xí)不進(jìn)去,也可以來(lái)小猿圈看看,把自己的弱項(xiàng)重新聽(tīng)聽(tīng)課,準(zhǔn)備迎接期末考試吧,希望大家考的都會(huì),蒙的全對(duì),加油啦!
==================================
將列表傳遞給函數(shù)后,函數(shù)就能直接訪問(wèn)其內(nèi)容
假設(shè)有一個(gè)用戶(hù)列表,要問(wèn)候其中的每位用戶(hù)
將列表傳遞給函數(shù)后,函數(shù)就可對(duì)其進(jìn)行修改,在函數(shù)中對(duì)這個(gè)列表所做的任何修改都是永久性的
一家為用戶(hù)提交的設(shè)計(jì)制作3D打印模型的公司,需要打印的設(shè)計(jì)存儲(chǔ)在一個(gè)列表中,打印后轉(zhuǎn)移到另一個(gè)列表中。
有時(shí)候需要禁止函數(shù)修改列表,為解決這個(gè)問(wèn)題,可想向函數(shù)傳遞列表的副本而不是元件;這樣函數(shù)所做的任何修改都只影響副本,不影響元件
有時(shí)候,預(yù)先布置的函數(shù)需要接受多少個(gè)實(shí)參,python允許函數(shù)從調(diào)用語(yǔ)句中手機(jī)任意數(shù)量的實(shí)參
一個(gè)制作披薩的寒素,它需要接受很多配料,但無(wú)法確定顧客要多少種配料,下面函數(shù)只有一個(gè)形參*toppings,不管調(diào)用語(yǔ)句提供了多少實(shí)參,這個(gè)形參都將他們統(tǒng)統(tǒng)收入囊中
如果要讓函數(shù)接受不同類(lèi)型的實(shí)參,必須在函數(shù)定義中將接納任意數(shù)量實(shí)參的形參放在最后
python先匹配位置實(shí)參和關(guān)鍵字實(shí)參,再將余下的實(shí)參收集到最后一個(gè)形參中
如果前邊的函數(shù)還需要一個(gè)表示披薩尺寸的實(shí)參,必須將該形參放在*toppings的前面
有時(shí)候,需要接受任意數(shù)量的實(shí)參,但預(yù)先不知道傳遞給函數(shù)的會(huì)是射門(mén)楊的信息,再這種情況下,可將函數(shù)編寫(xiě)成能夠接受任意數(shù)量的鍵-值對(duì),調(diào)用語(yǔ)句提供了多少就接受多少
創(chuàng)建用戶(hù)簡(jiǎn)介:你知道你將收到有關(guān)用戶(hù)的信息,但不確定會(huì)是什么樣的信息,在下面示例中,build_profile()接受名和姓,同時(shí)還接受任意數(shù)量的關(guān)鍵字實(shí)參
1、average_sum函數(shù)的功能為求一批數(shù)中大于平均值
sum=0
k=0
for i in range(n):
sum=sum+a[i]
average=sum/n
for i in range:
if(a[i]average):
k=k+a[i]
return k
2、編寫(xiě)函數(shù)fun求一個(gè)不多于五位數(shù)的正整數(shù)的位數(shù)
if(m9999):
place=5
elif(m999):
place=4
elif(m99):
place=3
elif(m9):
place=2
else:
place=1
return place
3、請(qǐng)編fun函數(shù),求4*4整形數(shù)組的主對(duì)角線元素的和
sum=0.0
for i in range(4):
sum+=a[i][i]
return sum
4、已知:一元錢(qián)一瓶汽水,喝完后兩個(gè)空瓶換一瓶汽水。問(wèn):請(qǐng)輸入錢(qián)數(shù)(大于1的正整數(shù)),則根據(jù)錢(qián)數(shù)最多可以喝到幾瓶汽水。
s=0
k=0
while m0:
m=m-1
s=s+1
k=k+1
while k=2:
k=k-2
s=s+1
k=k+1
return s
5、編寫(xiě)函數(shù)fun(x,y),函數(shù)的功能是若x、y為奇數(shù),求x到y(tǒng)之間的奇數(shù)和;若x、y為偶數(shù),則求x到y(tǒng)之間的偶數(shù)和。要求必須使用for結(jié)構(gòu)。
主函數(shù)的功能是分別計(jì)算如下的值:
(1+3+5+……+777)+(2+4+6+……+888)=???
(1+3+5+……+1111)+(2+4+6+……+2222)=???
(1+3+5+……+1999)+(2+4+6+……+1998)=???
s=0
for i in range(x,y+1,2):
s=s+i
return s
6、編寫(xiě)函數(shù)main 求3!+6!+9!+12!+15!+18!+21!
s=0
for i in range(3,22,3):
r=1
for j in range(1,i+1):
r*=j
s+=r
print(s)
按照題目要求編寫(xiě)的Python程序如下
def calBMI(height,weight):
BMI=weight/(height*height)
if BMI18.5:
return [BMI,"過(guò)輕"]
elif BMI24:
return [BMI,"正常"]
elif BMI28:
return [BMI,"過(guò)重"]
else:
return [BMI,"肥胖"]
import re
s=input("請(qǐng)輸入你的身高(米)和體重(公斤)【逗號(hào)隔開(kāi)】:")
s1=re.split(r'[,,]',s)
height=float(s1[0])
weight=float(s1[1])
name="李子健"
bmi=calBMI(height,weight)
print("{}的測(cè)算結(jié)果為:".format(name))
print("BMI:%.2f"%bmi[0])
print(bmi[1])
源代碼(注意源代碼的縮進(jìn))