#你看看?符合要求嗎??我的理解是?mySet是集合,元素不重復(fù)的
西安網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
class?mySet:
def?__init__(self,mylist):
self.mylist=[]
for?i?in?mylist:
if?i?not?in?self.mylist:
self.mylist.append(i)
def?addElem(self,i):
if?i?not?in?self.mylist:
self.mylist.append(i)
def?deleElem(self,i):
if?i?in?self.mylist:
self.mylist.remove(i)
def?interse(self,other):
temp=[i?for?i?in?self.mylist?if?i?in?other.mylist]
return?mySet(temp)
def?union(self,other):
temp=[i?for?i?in?self.mylist?]
for?j?in?other.mylist:
if?j?not?in?temp:
temp.append(j)
return?mySet(temp)
def?subtract(self,other):
temp=[i?for?i?in?self.mylist?if?i?not?in?other.mylist?]
return?mySet(temp)
def?__add__(self,other):
return?self.union(other)
def?__sub__(self,other):
return?self.subtract(other)
def?__string__(self):
return?str(self.mylist)
def?__repr__(self):
return?self.__string__()
def?test():
list1=[1,3,5,7]
list2=[2,4,6,8]
list3=[1,4,7,10]
s1=mySet(list1)
s2=mySet(list2)
s3=mySet(list3)
s1.addElem(7)
s2.deleElem(6)
ss=s1+s2
tt=ss-s3
xx=s1.interse(s3)
print?ss
print?tt
print?xx
if?__name__=="__main__":
test()
def?get_min(mylist):
try:
x=mylist[0]
except:
print?"列表為空"
return?
for?y?in?mylist:
x=?(xy?and?[x]?or?[y])[0]?
return?x?
def?get_slice(mylist,start,stop,step=1):
length=len(mylist)
stop=(stop+length)%length
start=(start+length)%length
num=(stop-start)/step
temp=[]
if?num=0:
temp=[mylist]
start+=step
for?i?in?range(num):
if?start==stop:break
temp.append(mylist)
start+=step
return?temp
1.【選擇】?下面哪個選項(xiàng)不是定義列表的正確方式?(?D)
D.myList4?=?2,3,4,5
答案解析:這是定義元組的方式,而不是列表
2.【選擇】根據(jù)下面表達(dá)式,a的值是:(?C)
C.lo?Wo
3.【填空】請寫出如何切片myList[]的倒數(shù)第3~5位。
myList[-3:-5]
4.【判斷】列表內(nèi)元素的下標(biāo)是從0開始的。(?√)
5.【選擇】下列Python表達(dá)式可以將列表反向并改變原列表值的是:(?D)
D.myList.reverse()
答案解析:切片會生成新的列表;reversed只是生成新的迭代器;只有?list.reverse()會對原表的值進(jìn)行改變
-----------
1.【判斷】Python語句“x?=?"a","b","c"”中,x是一個元組。(√?)
2.【選擇】執(zhí)行下列Python語句會報錯的是:(?A)
A.myTuple[3]?=?30
答案解析:元組是immutable(不可變)的,所以不能改變元組的值
3.【填空】使用Python內(nèi)置函數(shù),計算元組myTuple的語句是:
sum(myTuple)?
4.【選擇】下列關(guān)于Python的描述錯誤的是:(?C)
C.對元組內(nèi)部元素進(jìn)行排序使用的是sort()
答案解析:元組不可變,所以不能對元素進(jìn)行排序
------------
1.【選擇】下列關(guān)于Python中字符串說法錯誤的是:(?D)
D.Python中字符類型是char,字符串的類型是str
答案解析:python字符和字符串類型都是str
3.【填空】請寫出用空格“?”合并字符串“Jane”、“Doe”的Python語句:
"Jane"?+?"?"?+?"Doe"
4.【選擇】下列不是Python3中解決路徑中特殊字符問題的選項(xiàng)是:(?C)
C.s?=?u"D:\test"
------------
1.【選擇】下列不是序列的是:(C?)
C.集合
3.【選擇】下面哪些操作是序列都具有的?(?D)
D.以上都是
-----
1.【判斷】Python中符號{}僅用在集合這一數(shù)據(jù)類型中。(B.×?)
3.【填空】語句set("datascience")的結(jié)果是:
集合?{'d',?'a',?'t',?'s',?'c',?'i',?'e',?'n'}
4.【選擇】下列關(guān)于集合的說法錯誤的是:(A?)
A.集合具有互異性,定義集合時不允許出現(xiàn)相同的元素
答案解析:出現(xiàn)了重復(fù)也沒事,會自動去重的。
7.【選擇】在Python中對數(shù)據(jù)進(jìn)行去重處理,一般會借助下列哪種數(shù)據(jù)類型?(?C)
C.集合
---------
1.【填空】有兩個列表?a?=?["name","age","sex"],b?=?["jonh","23","M"],請用一個語句將這兩個列表轉(zhuǎn)換成字典,其中列表a中的元素為“鍵”,列表b中的元素為“值”。
dict(zip(a,?b))
2.【填空】定義一個新字典如下,用print輸出dict1的結(jié)果是:
{1:?3,?2:?'a'}
4.【判斷】下面對字典d的定義是正確的。(B.×?)
答案解析:列表不能用做鍵。應(yīng)該用元組('a','b')做鍵?。
推斷函數(shù)sumn是求奇數(shù)的和。
如果不包括7
第1空:n
第2空: 9
如果包括7
第1空:n+1
第2空:16
又快臨近期末考試了,小伙伴們是不是又開始焦慮了呢?掛科怎么辦?如果很幸運(yùn)看到我的文章,你就偷著樂吧,我總結(jié)出:一般python期末考試?yán)蠋焸冏類劭嫉膬?nèi)容,一定要好好看啊,爭取做到python不掛科;還有暑假馬上來了,小伙伴們可以在閑暇之際,看看小猿圈的視頻,為以后找工作墊墊基礎(chǔ),也是很不錯的。
一、選擇題
1、已知x=[1,2]和y=[3,4],那么x+y等于什么(? )
A、3? ? ? ? ? ? B、7? ? ? ? ? ? C、[1,2,3,4]? ? ? ? ? D、[4,6]
2、os.path模塊的下列方法,哪個是用來判斷指定路徑是否存在的?(? )
A、exists()? ? ? B、exist()? ? ? ? C、getsize()? ? D、isfile()
3、以下選項(xiàng)中不是 Python 對文件的寫操作方法的是 ( D )
A、 writelines? ? ? B、write? ? ? ? C、rite 和 seek? ? ? ? D、writetext
4、關(guān)于算法的描述,以下選項(xiàng)中錯誤的是? ( B )
A、算法是指解題方案的準(zhǔn)確而完整的描述
B、算法的復(fù)雜度主要包括時間復(fù)雜度和數(shù)據(jù)復(fù)雜度
C、算法具有可行性、確定性、有窮性的基本特征
D、算法的基本要素包括數(shù)據(jù)對象的運(yùn)算和操作及算法的控制結(jié)構(gòu)
解釋:算法復(fù)雜度是指算法在編寫成可執(zhí)行程序后,運(yùn)行時所需要的資源,資源包括時間資源和內(nèi)存資源。
5、.關(guān)于Python的lambda函數(shù),以下選項(xiàng)中描述錯誤的是 ( B )
A、 lambda函數(shù)將函數(shù)名作為函數(shù)結(jié)果返回
B、f = lambda x,y:x+y 執(zhí)行后,f的類型為數(shù)字類型
C、lambda用于定義簡單的、能夠在一行內(nèi)表示的函數(shù)
D、可以使用lambda函數(shù)定義列表的排序原則
6、基本的Python內(nèi)置函數(shù)eval(x)的作用是 ( B )
A、 將x轉(zhuǎn)換成浮點(diǎn)數(shù)
B、去掉字符串x最外側(cè)引號,當(dāng)作Python表達(dá)式評估返回其值
C、計算字符串x作為Python語句的值
D、 將整數(shù)x轉(zhuǎn)換為十六進(jìn)制字符串
二、填空題
1、 在Python中____表示空類型。(None)
2、 查看變量類型的Python內(nèi)置函數(shù)是______。(type())
3、list(map(str, [1, 2, 3]))的執(zhí)行結(jié)果為___________。([‘1’, ‘2’, ‘3’])
4、 Python標(biāo)準(zhǔn)庫math中用來計算平方根的函數(shù)是____。(sqrt)
5、 假設(shè)有列表a = [‘name’, ‘a(chǎn)ge’, ‘sex’]和b = [‘Dong’, 38, ‘Male’],請使用一個語句將這兩個列表的內(nèi)容轉(zhuǎn)換為字典,并且以列表a中的元素為“鍵”,以列表b中的元素為“值”,這個語句可以寫為___________。(c = dict(zip(a, b)))
三、簡答題
1、簡單解釋Python基于值的自動內(nèi)存管理方式?
----Python采用的是基于值得內(nèi)存管理方式,在Python中可以為不同變量賦值為相同值,這個值在內(nèi)存中只有一份,多個變量指向同一個內(nèi)存地址;Python具有自動內(nèi)存管理功能,會自動跟蹤內(nèi)存中所有的值,對于沒有任何變量指向的值,Python自動將其刪除。
2、異常和錯誤有什么區(qū)別?
----異常是指因?yàn)槌绦驁?zhí)行過程中出錯而在正??刂屏饕酝獠扇〉男袨椤?yán)格來說,語法錯誤和邏輯錯誤不屬于異常,但有些語法錯誤往往會導(dǎo)致異常,例如由于大小寫拼寫錯誤而訪問不存在的對象,或者試圖訪問不存在的文件,等等。
3、請用自己的算法, 按升序合并如下兩個list, 并去除重復(fù)的元素:
? list1 = [2, 3, 7, 4, 9, 5, 6,18]
? list2 = [5, 6, 10, 17, 3, 2,1]
----先轉(zhuǎn)換成集合自動去重,再轉(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、如何生成一個隨機(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é)們做的怎么樣啊,如果是毫無壓力,那估計你這個學(xué)期學(xué)的python還闊以了,如果有點(diǎn)難度,那就要仔細(xì)看看了,因?yàn)檫@套題很基礎(chǔ),看哪沒有學(xué)明白,好好看看那一部分的內(nèi)容,自己復(fù)習(xí)不進(jìn)去,也可以來小猿圈看看,把自己的弱項(xiàng)重新聽聽課,準(zhǔn)備迎接期末考試吧,希望大家考的都會,蒙的全對,加油啦!