《Python語言程式設計》劉衛國主編,中國工信出版集團,電子工業出版社
習題6
一、選擇題
1.下列Python資料中其元素可以改變的是( ),A
A.串列 B.元組 C.字串 D.陣列
2.運算式“[2] in [1,2,3,4]”的值是( ),D
A.Yes B.No C.True D.False
3.max((1,2,3)*2)的值是( ),A
A.3 B.4 C.5 D.6
4.下列選項中與s[0:-1]表示的含義相同的是( ),C
A.s[-1] B.s[:] C.s[:len(s)-1] D.s[0:len(s)]
5.對于串列L=[1,2,'Python',[1,2,3,4,5]],L[-3]的是( ),B
A.1 B.2 C.'Python' D.[1,2,3,4,5]
6.L.reverse()和L[-1:-1-len(L):-1]的主要區別是( ),D
A.L.reverse()和L[-1:-1-len(L):-1]都將串列的所有元素反轉排列,沒有區別
B.L.reverse()和L[-1:-1-len(L):-1]都不會改變串列L原來內容
C.L.reverse()不會改變串列L的內容,而L[-1:-1-len(L):-1]會改變串列L原來內容
D.L.reverse()會改變串列L的內容,而L[-1:-1-len(L):-1]產生一個新串列,不會改變串列L原來內容
7.tuple(range(2,10,2))的回傳結果是( ),C
A.[2, 4, 6, 8] B.[2, 4, 6, 8, 10]
C.(2, 4, 6, 8) D.(2, 4, 6, 8, 10)
8.下列程式執行后,p的值是( ),A
a=[[1,2,3],[4,5,6],[7,8,9]]
p=1
for i in range(len(a)):
p*=a[i][i]
A.45 B.15 C.6 D.28
9.下列Python程式的運行結果是( ),C
s=[1,2,3,4]
s.append([5,6])
print(len(s))
A.2 B.4 C.5 D.6
10.下列Python程式的運行結果是( ),B
s1=[4,5,6]
s2=s1
s1[1]=0
print(s2)
A.[4, 5, 6] B.[4, 0, 6] C.[0, 5, 6] D.[4, 5, 0]
二、填空題
1.序列元素的編號稱為 ,它從 開始,訪問序列元素時將它用 括起來,索引,0,中括號
2.對于串列x,x.append(a)等價于 (用insert方法),x.insert(len(x),a)
3.設有串列L=[1,2,3,4,5,6,7,8,9],則L[2:4]的值是 ,L[::2]的值是 ,L[-1]的值是 ,L[-1:-1-len(L):-1]的值是 ,
[3, 4];[1, 3, 5, 7, 9];9;[9, 8, 7, 6, 5, 4, 3, 2, 1]
4.Python陳述句print(tuple(range(2)),list(range(2)))的運行結果是 ,
(0, 1) [0, 1]
5.Python運算式[i for i in range(5) if i%2!=0]的值為 ,[i**2 for i in range(3)]的值為 ,[1, 3],[0, 1, 4]
6.Python陳述句first,*middles,last=range(6)執行后,middles的值為 ,sum(middles)/len(middles)的值為 ,[1, 2, 3, 4],2.5
7.已知fruits=[ 'apple','banana','pear'], print(fruits[-1][-1])的結果是 ,print(fruits.index('apple'))的結果是 ,print('Apple' in fruits)的結果是 ,r,0,False
8.下列程式的運行結果是 ,7
s1=[1,2,3,4]
s2=[5,6,7]
print(len(s1+s2))
9.下列陳述句執行后,s值為 ,[4, 'x', 'y']
s=[1,2,3,4,5,6]
s[:1]=[]
s[:2]='a'
s[2:]='b'
s[2:3]=['x','y']
del s[:1]
10.下列陳述句執行后,s值為 ,[5, [1, 2], 'a']
s=['a','b']
s.append([1,2])
s.extend([5,6])
s.insert(10,8)
s.pop()
s.remove('b')
s[3:]=[]
s.reverse()
三、問答題
1.什么叫序列?它有哪些型別?各有什么特點?
2.設有串列a,要求從串列a中每三個元素取一個,并且將取到的元素組成新的串列b,請寫出陳述句,b=a[0:len(a):3]
3.用串列決議式生成包含10個數字5的串列,請寫出陳述句,如果要生成包含10個數字5的元組,請寫出陳述句,[5 for i in range(10)],tuple(5 for i in range(10))
4.分析下列陳述句的執行結果,總結陳述句y=x和y=x[:]的區別,
>>> x=[1,2,3,4,5]
>>> y=x
>>> id(x),id(y)
(36312688, 36312688)
>>> x=[1,2,3,4,5]
>>> y=x[:]
>>> id(x),id(y)
(36313288, 36312728)
5.分析下列陳述句的執行結果,總結陳述句m+=[4,5]和m=m+[4,5]的區別,
>>> m=[1,2]
>>> n=m
>>> m+=[4,5]
>>> m,n
([1, 2, 4, 5], [1, 2, 4, 5])
>>> m=[1,2]
>>> n=m
>>> m=m+[4,5]
>>> m,n
([1, 2, 4, 5], [1, 2])
6.寫出下列程式的運行結果,
n=tuple([[1]*5 for i in range(4)])
for i in range(len(n)):
for j in range(i,len(n[0])):
n[i][j]=i+j
print(sum(n[i]))
10
15
17
16
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/401568.html
標籤:其他
上一篇:leetcode每日一題390.消除游戲 暴力的數學之美一邊就懂 由淺入深
下一篇:XDOJ 5-2 單詞統計
