python題目庫
選擇題
1.計(jì)算機(jī)語言的種類很多,按照其發(fā)展過程,不包括以下哪個(gè)?(??? )
A.機(jī)器語言?????????? B.匯編語言??????????? C.高級(jí)語言????????? D.人工語言
2.下面關(guān)于機(jī)器語言描述錯(cuò)誤的是(??? )。
A.機(jī)器語言是最低級(jí)的語言,是用二進(jìn)制代碼表示的計(jì)算機(jī)能直接識(shí)別和執(zhí)行的一種機(jī)器指令的集合
B.它是計(jì)算機(jī)的設(shè)計(jì)者通過計(jì)算機(jī)的硬件結(jié)構(gòu)賦予計(jì)算機(jī)的操作功能
C.不同型號(hào)的計(jì)算機(jī)的機(jī)器語言是相通的
D.機(jī)器語言具有靈活、可直接執(zhí)行和速度快等特點(diǎn)
3.下面關(guān)于匯編語言描述錯(cuò)誤的是(??? )。
A.匯編語言是用于電子計(jì)算機(jī)、微處理器、微控制器或其他可編程器件的低級(jí)語言
B.使用匯編語言編寫的程序,能直接被機(jī)器識(shí)別
C.匯編語言的目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快
D.匯編語言和機(jī)器自身的編程環(huán)境是息息相關(guān)的,用其編寫的程序推廣和移植比較困難
4.下面關(guān)于高級(jí)語言描述錯(cuò)誤的是(??? )。
A.高級(jí)語言并不是特指某一種具體的語言,而是很多種編程語言
B.高級(jí)語言編寫的程序能直接被計(jì)算機(jī)識(shí)別
C.對于解釋類的高級(jí)語言,應(yīng)用程序源代碼一邊由相應(yīng)語言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語言),一邊執(zhí)行
D.編譯類的高級(jí)語言在應(yīng)用程序源代碼執(zhí)行之前,首先需要將源代碼“翻譯”成目標(biāo)代碼(機(jī)器語言代碼)
5.以下哪個(gè)不是Python語言的特點(diǎn)?(??? )
A.語言簡單???????????????????????????????????????????? B.開源?????????????????
C.面向?qū)ο?/span>????????????????????????????????????????????? D.專屬于某個(gè)特定的平臺(tái)
6.關(guān)于Python的缺點(diǎn)以下哪個(gè)描述是錯(cuò)誤的?(??? )
A.速度慢???????????????????????????????????????????????? B.存在多線程性能瓶頸
C.代碼不能加密????????????????????????????????????? D.Python 2.x和Python 3.x兼容
7.關(guān)于Python語言的應(yīng)用,以下哪個(gè)描述是錯(cuò)誤的?(??? )
A.第三方庫pandas提供了功能強(qiáng)大的類庫,可以幫助我們清洗數(shù)據(jù)、排序數(shù)據(jù)
B.第三方庫NumPy和SciPy提供了豐富的科學(xué)計(jì)算和數(shù)據(jù)分析功能
C.第三方庫Matplotlib提供了豐富的數(shù)據(jù)可視化圖表
D.scikit-learn是Python自然語言工具包,用于諸如標(biāo)記化、詞形還原、詞干化、解析、POS標(biāo)注等任務(wù)
8.下面關(guān)于Python 2.x和Python 3.x的描述,哪個(gè)是錯(cuò)誤的?(??? )
A.在Python 2.x中,整數(shù)相除(采用除法運(yùn)算符“/”實(shí)現(xiàn)),結(jié)果是浮點(diǎn)數(shù),而在Python 3.x中結(jié)果是整數(shù)
B.在Python 2.x中,print語句被Python 3.x中的print()函數(shù)所代替
C.Python 3.x源代碼文件默認(rèn)使用UTF-8編碼,所以支持直接寫入中文,而Python 2.x默認(rèn)編碼方式是ASCII,直接寫入中文會(huì)被轉(zhuǎn)換成ANSI編碼
D.在Python 3.x中將range()與xrange()函數(shù)整合為一個(gè)range()函數(shù),所以在Python 3.x中不存在xrange()函數(shù)
9.IDLE的常用快捷鍵中,表示“保存文件”的快捷鍵是(??? )。
A.F1?????????????????????? B.Ctrl+]????????????????? C.Ctrl+Z?????????????? D.Ctrl+S
10.以下哪個(gè)開發(fā)工具無法進(jìn)行Python編程?(??? )
A.PyCharm????????????????????????????????????????????? B.JBuilder????????????
C.Eclipse????????????????????????????????????????????????? D.Jupyter Notebook
11.下面關(guān)于程序注釋的描述錯(cuò)誤的是(??? )。
A.Python中使用“#”表示多行注釋
B.單行注釋可以作為單獨(dú)的一行放在被注釋代碼行之上
C.單行注釋也可以放在語句或表達(dá)式之后
D.Python中使用3個(gè)單引號(hào)或3個(gè)雙引號(hào)表示多行注釋
12.下列選項(xiàng)中,哪一項(xiàng)不是合法的標(biāo)識(shí)符?(??? )
A.USERNAME??????????????????????????????????????? B.for?????????????????????
C.Day_1?????????????????????????????????????????????????? D.input_name
13.下列選項(xiàng)中,哪一項(xiàng)不是正確的賦值語句?(??? )
A.a = 1 B.a = b = c = 1 C.str ="hello world"????? D.a == 1
14.下列關(guān)于變量的命名規(guī)則中,哪一項(xiàng)是正確的?(??? )
A.變量名的字母不區(qū)分大小寫????????????
B.變量名的第一個(gè)字符可以是下畫線
C.變量名可以是關(guān)鍵字?????????????????????????
D.變量名中可以使用空格
15.下列關(guān)于變量的描述中,哪一項(xiàng)是錯(cuò)誤的?(??? )
A.變量的值在程序運(yùn)行的過程中可以被改變?????????????????????
B.變量在使用前必須賦值
C.變量在賦值時(shí)需要聲明類型?????????????
D.在Python中,允許多個(gè)變量指向同一個(gè)值
16.下面關(guān)于變量的說法正確的是(??? )。
A.變量的名稱是可以改變的???????????????? B.變量的值是可以改變的
C.變量的值必須是整數(shù)????????????????????????? D.一個(gè)程序必須要有一個(gè)變量
17.下列變量名中,哪一項(xiàng)不符合正確的變量命名規(guī)則?(??? )
A.ID?????????????????????? B._name???????????????? C.2_year?????????????? D.year_2
18.下面哪個(gè)變量名是正確的?(??? )
A.print?????????????????? B.else???????????????????? C.3_bar???????????????? D.Bar_3
19.Python不支持的數(shù)據(jù)類型有(??? )。
A.char??????????????????? B.int?????????????????????? C.float?????????????????? D.list
20.在Python中,下列選項(xiàng)中不屬于數(shù)字的是(??? )。
A.-10????????????????????? B.0x43??????????????????? C.'100'?????????????????? D.2.36e-3
21.下列對象中,布爾值不為False的是(??? )。
A.0???????????????????????? B.""???????????????????????? C.{}????????????????????? D."False"
22.下面哪個(gè)是布爾值?(?? )
A."True"??????????????? B."False"??????????????? C.True?????????????????? D.'True'
23.下面哪個(gè)值是整數(shù)?(??? )
A."50"???? B.2.87 C.-20? D.'30'
24.下列關(guān)于字符串的說法中錯(cuò)誤的是(??? )。
A.字符應(yīng)該視為長度為1的字符串
B.字符串可以用單引號(hào)、雙引號(hào)和三引號(hào)來創(chuàng)建
C.字符串中使用“/”來對特殊字符進(jìn)行轉(zhuǎn)義
D.三引號(hào)中的字符串可以包含換行符等特殊字符
25.下面代碼的輸出結(jié)果是(??? )。
a = 'Hello'
#a='Good'
print(a,'World')
A.Hello World???????????????????????????????????????? B.Hello Good World?
C.Good Hello World??????????????????????????????? D.HelloWorld
26.Python中獲取用戶輸入的命令為(??? )。
A.read??????????????????? B.get?????????????????????? C.open?????????????????? D.input
27.print('Hello'+'World')的結(jié)果是(??? )。
A.Hello World?????? ????????????????????????????????? B.HelloWorld??????
C.'Hello+World'?????????????????????????????????????? D.'Hello'+'World'
28.print('%f' % 1.23456789)會(huì)輸出什么?(??? )
A.1.23???? ? B.1.234567? ??C.1.234568? ??? D.1
29.下列哪條語句可以輸出“Hi,?????? ”,即前面為“Hi, ”,總長度為20的字符串?(??? )
A.print('%20s' % 'Hi')????????????????????????????? B.print('%-20s' % 'Hi,')
C.print('%s' % 'Hi')????????????????????????????????? D.print('%.20s' % 'Hi')
30.從鍵盤輸入一個(gè)整數(shù)賦值給number,下面哪一句是正確的?(??? )
A.number = input('請輸入一個(gè)整數(shù):')
B.number = input("請輸入一個(gè)整數(shù):")
C.number = int(input('請輸入一個(gè)整數(shù):'))
D.number = str(input('請輸入一個(gè)整數(shù):'))
31.下列運(yùn)算中會(huì)導(dǎo)致程序報(bào)錯(cuò)的是(??? )。
A.-100 % -5???????????????????????????????????????????? B."hello" * 3????????
C.1 + 'b'??????????????????????????????????????????????????? D."hello" + "world"
32.Python中用來將變量轉(zhuǎn)化為整型變量的函數(shù)是(??? )。
A.toInt?????????????????? B.int?????????????????????? C.str????????????????????? D.strToInt
33.下面描述正確的是(??? )。
A.Python編程語句區(qū)分字母大小寫
B.Python中代碼注釋要用到“//”
C.Python中在使用字符變量前要對其進(jìn)行定義
D.Python中需要將循環(huán)執(zhí)行的語句放入{}內(nèi)
34.下列哪個(gè)語句在Python中是非法的?(??? )
A.x = y = z = 1????? B.x,y = y,x????????????? C.x*=y????????????????? D.x = y+z =1
35.下列運(yùn)算符中優(yōu)先級(jí)最高的是(??? )。
A.*???????????????????????? B.**??????????????????????? C.not???????????????????? D.!=
36.下面對常量的描述哪個(gè)是正確的?(??? )
A.常量的值不可以隨時(shí)改變???????????????? B.常量的值是可以隨時(shí)改變的
C.常量的值必須是數(shù)值????????????????????????? D.常量不可以給變量賦值
37.M_N=input()表示(??? )。
A.輸入一個(gè)值,賦值給變量M_N
B.輸入兩個(gè)值,分別賦值給變量M和N
C.輸入一個(gè)變量,它的內(nèi)容為M-N
D.輸入一個(gè)值,同時(shí)賦值給變量M和N
38.下面哪個(gè)不屬于Python語言的保留字?(??? )
A.True??????????????????? B.for?????????????????????? C.static????????????????? D.while
39.在Python 3中執(zhí)行如下語句的結(jié)果是(??? )。
world = 'World'
print 'Hello'+world
A.HelloWorld??????? B.Hello World??????? C.'Hello'+world??? D.程序會(huì)報(bào)錯(cuò)
40.下面兩行代碼的執(zhí)行結(jié)果是(??? )。
print(4==3 or 3>2)
print(3>=3 and 5>3)
A.True,True??????? B.true,true?????????? C.True,False????? D.False,True
41.下面代碼的執(zhí)行結(jié)果是(??? )。
x = 4
x += 2
x *= 5
print(x)
A.20?????????????????????? B.30??????????????????????? C.40????????????????????? D.10
42.下面語句執(zhí)行以后,如果從鍵盤輸入10,則下面表達(dá)式結(jié)果為True的是(??? )。
x = 5
y = int(input('請輸入數(shù)據(jù):'))
A.x<y???????????????????? B.x>y????????????????????? C.x=y??????????????????? D.以上都不對
43.假設(shè)變量x=4、y=7,下面表達(dá)式是真(True)的是(??? )。
A.x>=y?????????????????? B.x>0 and y!=7????? C.x>3 or y<5???????? D.not y>x
44. 簡單分支結(jié)構(gòu)是最基礎(chǔ)的程序結(jié)構(gòu),在程序設(shè)計(jì)中一般用不到。(??? )
A.正確?????????????????? B.錯(cuò)誤
45.Python語法認(rèn)為條件x<=y<=z是合法的。(??? )
A.正確?????????????????? B.錯(cuò)誤
46.請分析下面的程序,若輸入score為74,輸出的grade是(??? )。
x=int(input("input score:"))
if x>=60:
????? grade='D'
elif x>=70:
????? grade='C'
elif x>=80:
????? grade='B'
else:
????? grade='A'
print(grade)
A.A??????????????????????? B.B???????????????????????? C.C??????????????????????? D.D
47.有如下程序段:
a,b,c=70,50,30;
if(a>b):
????? a=b
????? b=c
????? c=a
print(a,b,c)
程序的輸出結(jié)果為(??? )。
A.70 50 70???????????? B.50 30 70????????????? C.70 30 70??????????? D.50 30 50
48.以下可以終結(jié)一個(gè)循環(huán)的保留字是(??? )。
A.if??????????????????????? B.break?????????????????? C.exit??????????????????? D.continue
49.死循環(huán)對程序沒有任何益處。(??? )
A.正確?????????????????? B.錯(cuò)誤
50.設(shè)有程序段:
k=10
while k==0:
???? k=k-1
下列說法正確的是(??? )。
A.while循環(huán)執(zhí)行10次???????????????????????? B.無限循環(huán)
C.循環(huán)不執(zhí)行????????????????????????????????????????? D.循環(huán)執(zhí)行一次
51.下列程序可以正常結(jié)束的是(??? )。
A.i=5??????????????????????????????????????????????????????? B.i=-5
?? while(i>0):??????????????????????????????????????????? ?? while(i<0):
?????? i+=1?????????????????????????????????????????????? ?????? i-=1
C.i=5??????????????????????????????????????????????????????? D.i=5
?? while(i<=5):????????????????????????????????????????? ?? while(i>0):
?????? i-=1?????????????????????????????????????????????? ????? ?i-=1
52.下列程序的輸出結(jié)果為(??? )。
s,t,u=0,0,0
for i in range(1,4):
?????? for j in range(1,i+1):
????????????? for k in range(j,4):
?????????????? ??????s+=1
????????????? t+=1
?????? u+=1
print(s,t,u)
A.3 6 14???????????????? B.14 6 3????????????????? C.14 3 6??????????????? D.16 4 3
53.執(zhí)行下列程序后,k的值為(??? )。
k=1
n=263
while n:
???? k*=n%10
???? n//=10
A.11?????????????????????? B.263????????????????????? C.36????????????????????? D.0
54.下面程序的執(zhí)行結(jié)果為(??? )。
for x in range(21,28,3):
?????? print(x)
A.21 22 23 24 25 26 27 28????????????????????? B.21 22 23 24 25 26 27
C.21 23 25 27?????????????????????????????????????????? D.21 24 27
55.下面程序的執(zhí)行結(jié)果為(??? )。
n = 0
for x in range(10,20):
?????? if x % 2 == 0:
??????????? n += 1
print(n)
A.3???????????????????????? B.4????????????????????????? C.5??????????????????????? D.6
56.下面程序的執(zhí)行結(jié)果為(??? )。
for x in range(10,1,-2):
?????? print(x)
A.10 8 6 4 2???????????????????????????????????????????? B.10 9 8 7 6 5 4 3 2 1
C.10 6 2??????????????????????????????????????????????????? D.10 9 8 7 6 5 4 3 2 1 -1 -2
57.令list = [1,2,3],則分別執(zhí)行命令del list[1]和list.remove(1)后的list為(??? )。
A.[1,3],[1,3]?????? B.[1,3],[2,3]??????? C.[2,3],[1,3]?????? D.[2,3],[2,3]
58.令list = [1,2,3,4,5],則print(list[1:5])的結(jié)果為(??? )。
A.[1,2,3,4]???????????? B.[1,2,3,4,5]?????????? C.[2,3,4,5]???????????? D.[2,3,4]
59.令list = [1,2,3,4,5],則print(list[::2])的結(jié)果為(??? )。
A.[1,2]?????????????????? B.[1,3,5]???????????????? C.3??????????????????????? D.[3]
60.令list = [1,2,3,4,5],則print(list[:-2:])的結(jié)果為(??? )。
A.[1,2,3]??????????????? B.[3,4,5]???????????????? C.[1,3,5]??????????????? D.[5,3,1]
61.令list = [i for i in range(1,10,2)],則print(list[::-1])的結(jié)果為(??? )。
A.[9,7,5,3,1]????????? B.[1]?????????????????????? C.[1,3,5,7,9]????????? D.[9]
62.下列哪種操作會(huì)創(chuàng)建一個(gè)新的列表?(??? )
Ⅰ.list1.extend(list2)?????? Ⅱ.list1 = list1+list2??????? Ⅲ.list1 = list1 * 2
A.Ⅰ,Ⅱ?????????????????? B.Ⅰ????????????????????????? C.Ⅰ,Ⅲ???????????????? D.Ⅱ,Ⅲ
63.下列哪項(xiàng)描述是正確的?(??? )
Ⅰ.元組和列表都屬于序列
Ⅱ.元組和列表都能進(jìn)行切片操作
Ⅲ.元組和列表都能進(jìn)行增刪改查操作
Ⅳ.元組的訪問速度和處理速度比列表更快
A.Ⅰ????????????????????????? B.Ⅰ,Ⅱ,Ⅳ??????????? C.Ⅰ,Ⅱ,Ⅲ,Ⅳ??? D.Ⅰ,Ⅳ
E.Ⅱ,Ⅳ???????????????? F.Ⅰ,Ⅲ,Ⅳ?????????? G.Ⅱ,Ⅲ,Ⅳ
64.令tuple1 = (x for x in range(1,5)),則經(jīng)過命令print(tuple1._?_next_?_())后,tuple1生成器內(nèi)的元素為(??? )。
A.(1,2,3,4)???????????? B.(1,2,3,4,5)?????????? C.(2,3,4,5)???????????? D.(2,3,4)
65.下列哪種方式能產(chǎn)生元組?(??? )
A.tuple1 = (0)??? B.tuple1 = (0,)??????????? C.tuple1 = (x for x in range(10)) D.tuple1 = [0]??????????????????????????????????? E.tuple1 = [x for x in range(10)]
66.下列哪些數(shù)據(jù)類型為不可變類型?(??? )
Ⅰ.字符串????????? Ⅱ.列表????? Ⅲ.元組???? Ⅳ.字典???? Ⅴ.集合
A.Ⅰ????????????????????????? B.Ⅰ,Ⅱ,Ⅲ??????????? C.Ⅲ?????????????????????? D.Ⅰ,Ⅲ
E.Ⅰ,Ⅲ,Ⅳ????????? F.Ⅲ,Ⅳ??????????????? G.Ⅲ,Ⅳ,Ⅴ
67.下列哪種數(shù)據(jù)類型不可以作為字典的鍵?(??? )
A.?dāng)?shù)字?????????????????? B.字符串??????????????? C.列表????????????????? D.元組
68.令nums = [1,2],chars = ['a', 'b'],則print(dict(zip(nums,chars)))的結(jié)果為(??? )。
A.{1: 'a',2: 'b'}???????????????????????????????????????? B.{1:[ 'a', 'b'],2:[ 'a', 'b']}
C.{1: 'b',2: 'a'}????????????????????????????????????????? D.{ 'a':1, 'b':2}
69.令dict1 = {1:2,2:3,3:4},dict2 = {v:u for u,v in dict1.items() if v>=3},則printf(dict2)的結(jié)果為(??? )。
A.{2:3,3:4}??????????? B.{3:2,4:3}??????????? C.{3:4}???????????????? D.{4:3}
70.令dict1 = {'1':'one', '0': 'zero'},則dict1.get(0, "not found")的返回結(jié)果為(??? )。
A.'one'??????????????????? B.'zero'?????????????????? C.None????????????????? D.'not found'
71.令dict1 = {'語文':88, '數(shù)學(xué)':95, '英語':82 },則下列哪條命令能刪除英語成績?(??? )
A.del dict1[2]??????? ????????????????????????????????? B.del dict1[3]??????
C.del dict1[英語]???????????????????????????????????? D.del dict1['英語']
72.令set1 = {0,1,1,2,2,(3,4,4,5,5)},則print(len(set1))的結(jié)果為(??? )。
A.10?????????????????????? B.6????????????????????????? C.5??????????????????????? D.4
73.下列關(guān)于集合的描述哪些是正確的?(??? )
Ⅰ.集合是無序的
Ⅱ.集合的元素可以是元組或者集合
Ⅲ.集合的元素都互不相同
Ⅳ.可以通過empty_set = {}的方式創(chuàng)建空集合
A.Ⅰ,Ⅱ,Ⅲ,Ⅵ???????????????????????????????????? B.Ⅰ,Ⅱ,Ⅲ??????????
C.Ⅰ??????????????????????????????????????????????????????????? D.Ⅰ,Ⅲ,Ⅵ
E.Ⅱ,Ⅵ?????????????????????????????????????????????????? F.Ⅰ,Ⅱ,Ⅵ??????????
G.Ⅰ,Ⅲ??????????????????????????????????????????????????? H.Ⅱ,Ⅲ,Ⅵ
74.令set1 = set('aabbc'),set2 = set('bcdd'),則print(set1|set2)的結(jié)果為(??? )。
A.{ 'aabbc', 'bcdd'}????????????????????????????????? B.{'abcd'}
C.{'aabbcdd'}?????????????????????????????????????????? D.{ 'a', 'a', 'b', 'b', 'c', 'b', 'c', 'd', 'd'}
E.{ 'd', 'b', 'c', 'a'}
75.令set1 = set('aabbc'),set2 = set('bcdd'),則print(set1&set2)的結(jié)果為(??? )。
A.{ 'bc'}?????????????????????????????????????????????????? B.{ 'bbcbc'}?????????
C.{ 'c', 'b'}??????????????????????????????????????????????? D.{ 'b', 'b', 'c', 'b', 'c'}
76.令set1 = set('aabbc'),set2 = set('bcdd'),則print(set1-set2)的結(jié)果為(??? )。
A.{'aabbc'}??????????? B.{ 'aab'}??????????????? C.{ 'a', 'a', 'b'}?????? D.{ 'a'}
77.以下哪個(gè)選項(xiàng)屬于字符串?(??? )
A.100???????????????????? B."s"?????????????????????? C.("str")??????????????? D.["s"]
78.在非長字符串中,換行符應(yīng)當(dāng)如何表示?(??? )
A.\n??????????????????????? B.\r???????????????????????? C.\0?????????????????????? D.\newline
79.在長字符串中,如何不顯示換行符?(??? )
A.行尾加/????????????? B.行尾加\r???????????? C.行尾加\???????????? D.行尾加\0
80.在字符串"pYthOn"中,索引為-3的字符是什么?(??? )
A.p???????????????????????? B.t?????????????????????????? C.H??????????????????????? D.h
81.對字符串"python"切片時(shí),以下哪種寫法會(huì)返回空字符串?(??? )
A.stri[1:2]????????????? B.stri[:-5]?????????????? C.stri[-2:-3]????????? D.stri[-4:]
82.有用戶輸入了一串名字,用逗號(hào)隔開。現(xiàn)在需要使用Python驗(yàn)證其中每個(gè)姓名是否都以“張”字開頭。那么以下哪種思路是正確的?(??? )
A.從索引為1處開始,每3個(gè)取一個(gè)字符,判斷是否為“張”字
B.用split函數(shù)將字符串拆開,判斷所有子串索引為0的位置是否為“張”字
C.用list函數(shù)將字符串拆開,判斷每一個(gè)逗號(hào)后面接的字符是否為“張”字
D.以上思路都不行
83.在以下格式字符串中,哪種寫法不能用來格式化整數(shù)10?(??? )
A.{:#.2}???????????????? B.{:< 5}???????????????? C.{:#8X}????????????? D.{:<5}
84.以下哪種文件打開后可能有亂碼?(??? )
A.以ASCII保存,以Unicode打開???? B.以GB2312保存,以GBK打開
C.以Unicode保存,以GBK打開??????? D.以ASCII保存,以GB2312打開
85.有一個(gè)列表a_list=['www','xmu','edu','cn'],如果要得到一個(gè)字符串'www.xmu.edu.cn'并輸出,可以使用以下哪條語句?(??? )
A.print(".".join(a_list))??????????????????????????? B.print("_".join(a_list))
C.print(join(a_list,','))????????????????????????????? D.print(join(a_list,'_'))
86.有一個(gè)字符串string = "Hadoop is good", 現(xiàn)在需要將字符串里的Hadoop替換成hadoop,可以使用以下哪條語句來實(shí)現(xiàn)?(??? )
A.'Hadoop'.replace('hadoop',string)??????? B.'hadoop'.replace('Hadoop',string)
C.'Hadoop'.replace(string,'hadoop')?????? D.string.replace('Hadoop', 'hadoop')
87.有一個(gè)字符串 string = "Spark is fast\n",該字符串的末尾有一個(gè)換行符,可以使用以下哪條語句刪除這個(gè)字符串末尾的換行符?(??? )
A.string.strip()???????????????????????????????????????? B.string.cut()???????
C.string.cutoff()?????????????????????????????????????? D.string.stripoff()
88.給定一個(gè)字符串a,需要以逆序的方式輸出a,可以使用以下哪條語句?(??? )
A.a[-1::]???????????????? B.a[:-1:]???????????????? C.a[::-1]??????????????? D.a[-1:-1:]
89.以下哪條語句的輸出結(jié)果是'□□□□□+3.14'(□表示空格)?(??? )
A.'%+10.2f' % 3.14????????????????????????????????? B.'%-10.2f' % 3.14
C.'%10.2f' % 3.14??????????????????????????????????? D.'%*10.2f' % 3.14
90.下面描述錯(cuò)誤的是(??? )。
A.標(biāo)準(zhǔn)庫是安裝Python時(shí)自帶的,不需要額外安裝
B.第三方庫需要額外安裝
C.turtle庫、random庫、time庫和jieba庫都是標(biāo)準(zhǔn)庫
D.PyInstaller庫、jieba庫、wordcloud庫和Matplotlib庫都是第三方庫
91.下面描述錯(cuò)誤的是(??? )。
A.turtle.pensize()用于設(shè)置畫筆的寬度
B.turtle.pencolor()如果沒有傳入?yún)?shù),則返回當(dāng)前畫筆顏色;如果有傳入?yún)?shù),則設(shè)置畫筆顏色
C.turtle.speed(speed)用于設(shè)置畫筆的移動(dòng)速度,畫筆移動(dòng)的速度是[0,10]的整數(shù),數(shù)字越大速度越慢
D.turtle.goto(x,y)表示將畫筆移動(dòng)到橫、縱坐標(biāo)分別為x、y的位置
92.關(guān)于random庫,下面描述錯(cuò)誤的是(??? )。
A.random庫是用來生成隨機(jī)數(shù)的Python標(biāo)準(zhǔn)庫
B.random庫主要包含兩類函數(shù),即基本隨機(jī)數(shù)函數(shù)和擴(kuò)展隨機(jī)數(shù)函數(shù)
C.隨機(jī)數(shù)種子決定產(chǎn)生的隨機(jī)數(shù)序列
D.即使隨機(jī)數(shù)種子一樣,random()產(chǎn)生的隨機(jī)數(shù)也無法重現(xiàn)
93.關(guān)于time庫,下面描述錯(cuò)誤的是(??? )。
A.time庫是Python中處理時(shí)間的標(biāo)準(zhǔn)庫
B.time庫包含3類函數(shù):時(shí)間獲取函數(shù)、時(shí)間格式化函數(shù)、程序計(jì)時(shí)函數(shù)
C.gmtime()用于獲取當(dāng)前時(shí)間,并返回一個(gè)以人類可讀的方式表示的字符串
D.ctime()用于獲取當(dāng)前時(shí)間,并返回一個(gè)以人類可讀的方式表示的字符串
94.關(guān)于jieba庫,下面描述錯(cuò)誤的是(??? )。
A.jieba.cut(s)屬于全模式,返回一個(gè)可迭代的數(shù)據(jù)類型
B.jieba.cut_for_search(s)屬于搜索引擎模式
C.jieba.lcut(s)屬于精確模式,返回一個(gè)列表類型
D.jieba.add_word(w)的功能是向分詞詞典中增加新詞w
?
?
?
?
?
?
?
題號(hào)
1
2
3
4
5
6
7
8
9
10
答案
D
C
B
B
D
D
D
A
D
B
題號(hào)
11
12
13
14
15
16
17
18
19
20
答案
A
B
D
B
C
B
C
D
A
C
題號(hào)
21
22
23
24
25
26
27
28
29
30
答案
D
C
C
C
A
D
B
C
B
C
題號(hào)
31
32
33
34
35
36
37
38
39
40
答案
C
B
A
D
B
A
A
C
D
A
題號(hào)
41
42
43
44
45
46
47
48
49
50
答案
B
A
C
B
A
D
D
B
B
C
題號(hào)
51
52
53
54
55
56
57
58
59
60
答案
D
B
C
D
C
A
B
C
B
A
題號(hào)
61
62
63
64
65
66
67
68
69
70
答案
A
D
B
D
B
D
C
A
B
D
題號(hào)
71
72
73
74
75
76
77
78
79
70
答案
D
D
G
E
C
D
B
A
C
D
題號(hào)
81
82
83
84
85
86
87
88
89
90
答案
C
B
A
C
A
D
A
C
A
C
題號(hào)
91
92
93
94
?
?
?
?
?
?
答案
C
D
C
A
?
?
?
?
?
?
?
?
判斷題
1.???? Python屬于編譯類的高級(jí)語言。(×)
2.???? Python是一種跨平臺(tái)、開源、免費(fèi)的高級(jí)動(dòng)態(tài)編程語言。(√)
3.???? Python 3.x和2.x的唯一區(qū)別是:print語句的用法。(×)
4.???? Python采用的是基于值的自動(dòng)內(nèi)存管理方式。(√)
5.???? 在Python中可以使用if作為變量名。(×)
6.???? 列表和元組可以作為字典的“鍵”。(×)
7.???? 字典的“鍵”必須是不可變的,且不能重復(fù)。(√)
8.???? Python集合不支持使用下標(biāo)訪問其中的元素。(√)
9.???? Python 3.x支持使用中文作為變量名。(√)
10.? 字符串屬于Python有序序列,和列表、元組一樣都支持雙向索引。(√)
11.? 只能通過切片訪問元組中的元素,不能使用切片修改元組中的元素。(√)
12.? 當(dāng)以指定“鍵”為下標(biāo)給字典對象賦值時(shí),若該“鍵”存在,則表示修改該“鍵”對應(yīng)的“值”;若不存在,則表示為字典對象添加一個(gè)新的“鍵-值對”。(√)
13.? Python字典和集合支持雙向索引。(×)
14.? 使用del命令或者列表對象的remove()方法刪除列表中元素時(shí)會(huì)影響列表中部分元素的索引。(√)
15.? 如果僅僅是用于控制循環(huán)次數(shù),那么使用for i in range(20)和for i in range(20,40)的作用是等價(jià)的。(√)
16.? 在循環(huán)中,continue語句的作用是跳出當(dāng)前循環(huán)。(×)
17.? Python運(yùn)算符%不僅可以用來求余數(shù),還可以用來格式化字符串。(√)
18.? Python中,student和Student屬于同一個(gè)變量。(×)
19.? 在GBK編碼中,一個(gè)漢字需要2個(gè)字節(jié)。(√)
20.? 使用Python列表的方法insert)為列表插入元素時(shí)會(huì)改變列表中插入位置之后元素的索引。(√)
21.? 假設(shè)x為列表對象,那么x.pop()和x.pop(-1)的作用是一樣的。(√)
22.? 列表對象的append()方法屬于原地操作,用于在列表尾部追加一個(gè)光素。(√)
23.? 已知A和B是兩個(gè)集合,并且表達(dá)式A<B的值為False,那么表達(dá)式A>B的值一定為True。(×)
24.? 相同內(nèi)容的字符串使用不同的編碼格式進(jìn)行編碼得到的結(jié)果并不完全相同。(√)
25.? 刪除列表中重復(fù)元素最簡單的方法是將其轉(zhuǎn)換為集合后再重新轉(zhuǎn)換為列表。(√)
26.? 創(chuàng)建只包含一個(gè)元素的元組時(shí),必須在元素后面加一個(gè)逗號(hào),例如(3,)。(√)
27.? 同一個(gè)列表對象中所有元素須為相同類型。(×)
28.? 可以使用del刪除集合中的部分元素。(×)
29.? 表達(dá)式[]==None的值為True。(×)
30.? 當(dāng)作為條件表達(dá)式時(shí),空值、空字符串、空列表、空元組、空字典、空集合、空迭代對象以及任意形式的數(shù)字0都等價(jià)于False。(√)
31.? turtle庫、random庫、time庫和jieba庫都是Python的標(biāo)準(zhǔn)庫。(×)
32.? 關(guān)于random庫,當(dāng)隨機(jī)數(shù)種子一樣時(shí),random()產(chǎn)生的隨機(jī)數(shù)可以重現(xiàn)。(√)
33.? 關(guān)于字符串,可以通過改變索引對應(yīng)值的方法來修改字符串。(×)
34.? 字符串切片操作后,返回的值可以是列表。(×)
35.? 格式化字符串時(shí),格式化的規(guī)則必須嚴(yán)格按照規(guī)定的順序進(jìn)行書寫。(√)
36.? 在格式化規(guī)則中,“{0:<+#08x}”等價(jià)于“{0:0<+#8x}”。(√)
37.? 使用from…import語句導(dǎo)入模塊后,可以不加前綴直接調(diào)用函數(shù)。(√)
38.? Matplotlib屬于標(biāo)準(zhǔn)庫,無需安裝。(×)
39.? Python是通過冒號(hào)來判斷操作是否在分支結(jié)構(gòu)中。(×)
40.? x=10,y=4,則x//y的結(jié)果為2.5。(×)
41.? 假設(shè)s表示某個(gè)序列類型數(shù)據(jù),則“s.count(x)”的含義是統(tǒng)計(jì)序列s中‘x’字符的個(gè)數(shù)。(×)
42.? while循環(huán)一般用于循環(huán)次數(shù)已知的情況。(×)
43.? range(2,5)生成的數(shù)值是2、3、4、5。(×)
44.? 集合的交集是指把兩個(gè)集合中的元素合并到一起。(×)
45.? 多行注釋的本質(zhì)是一個(gè)多行字符串,只是沒有賦值給變量。(√)
46.? 正向索引的索引值從0開始,從左向右依次加1;反向索引的索引值從0開始,從右向左依次減1。(×)
47.? a= ‘string’,則a[-1:-3]的結(jié)果為 ‘in’。(×)
48.? 轉(zhuǎn)義字符“\ooo”表示只能使用3位的八進(jìn)制數(shù)。(×)
49.? Python標(biāo)準(zhǔn)庫random的方法randint(m,n)用來生成一個(gè)[m,n]區(qū)間上的隨機(jī)整數(shù)。(√)
50.? 安裝第三方庫時(shí),需要用到pip install命令。(√)
?
程序分析題
1. 如下程序的輸出結(jié)果為:?????????????? 。
s = 0
for? i? in? range(10):
??? s +=i
print(s)
參考答案:45
?
2. 如下程序的輸出結(jié)果為:?????????????? 。
s = 0
for i in range(1,11,2):
s *=i
print(s)
參考答案:0
?
3. 補(bǔ)充缺失的程序代碼,實(shí)現(xiàn)如下分段函數(shù)的計(jì)算:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
x = int(input("請輸入x:"))
if? x<5 :
y = 0
???????????????????? :
y = 5*x-25
else:
y = ????????????????????
參考答案:elif x<10?????? (x-5)**2?????? 或(x-5)*(x-5)
?
4. 補(bǔ)充缺失的程序代碼,實(shí)現(xiàn)如下分段函數(shù)的計(jì)算:
x = int(input("請輸入x:"))
if? x>=1 :
y = ????????????????????
elif ???????????????????? :
y = (x+1)**2
else:
????????????????????
參考答案:3*((x-1)**0.5)??????????? ?x>=0?? ??? 或? ?4*(x**3)/9
?
5. 補(bǔ)充缺失的程序代碼,輸出如下圖形:
*
***
*****
*******
x = int(input("請輸入待顯示的行數(shù)x:"))
for i in range(x):
print(?????????????????? )
參考答案:"*"*(2*i+1)
?
6. 補(bǔ)充缺失的程序代碼,輸出如下圖形:
*
***
*****
*******
x = int(input("請輸入待顯示的行數(shù)x:"))
for i in range(x):
print(?????????????????? ,end = "")
print(?????????????????? )
參考答案:" "*(2*(x-i+1))?????????? "*"*(2*i+1)
?
7. 如下程序的輸出結(jié)果是:?????????????? 。
n = 50361
count = 0
while(n):
??? n = n//10
??? count = count +1
print(count)
參考答案:? 5
8. 補(bǔ)充缺失的代碼,使之能夠輸出整數(shù)的位數(shù),如4位整數(shù)1234,輸出4。
n = int(input("輸入正整數(shù)n:"))
????????????????????
while(n):
??? ???????????????????
??? count = count +1
print(count)
參考答案: count = 0 ???n = n//10 或? ?n//=10?
?
9. 如下程序的輸出結(jié)果是:?????????????? 。
x = 371
a = x // 100
b = x //10%10
c = x%10
if x==a**3+ b**3+c**3:
??? ????? print(f"{x}:YES")
else:
??? ????? print(f"{x}:NO")
參考答案: 371:YES
?
10. 補(bǔ)充缺失的代碼,使之能夠判斷輸入的正整數(shù)x是否為素?cái)?shù)。
x = int(input("請輸入大于1的正整數(shù)x:"))
k = ????????????????????
for? i? in ??????????????? :
??? if x%i == 0:
??????? print(f"{x}不是素?cái)?shù)")
??????? break
else:
??? print(f"{x}是素?cái)?shù)")
參考答案: int(x**0.5)? ?????? ?range(2,k+1) ?
?
11. 補(bǔ)充缺失的代碼,使如下程序段能夠找到列表alist中任意相加等于9的元素的集合,如[{3,6},{2,7}]等。
alist = [3,6,10,14,2,7]
rlist = []
for i in alist:
??? for j in alist:
??????? if i+j==9 and {i,j}???????????????? ?rlist:
??????????? rlist.append(????????????????? )
參考答案:? not in? ??{i,j}
?
12. 如下程序的輸出結(jié)果是:??????????????????? 。
alist = [3,6,10,14,2,7,8,4]
rlist = []
for i in alist:
??? for j in alist:
??????? if i+j==10 and {j,i} not in rlist:
??????????? rlist.append({i,j})
print(rlist)
參考答案: [{3, 7}, {4, 6}, {8, 2}]
?
13. 補(bǔ)充程序代碼,將alist中所有不屬于atuple的元素保存到新的列表blist中。
alist = [23,56,21,10,5,64,12,90]
atuple = (5,56)
rlist = []
for x in alist:
??? if x ??????????????????? ?atuple:
??????? ??????????????????
參考答案: not in??? ?????? ??rlist.append(x)
?
14. 如下程序的輸出結(jié)果是:??????????????????? 。
alist = [23,34,45,56,67,78,90]
atuple = (34,56,78)
rlist = []
for x in alist:
??? if x not in atuple:
??????? rlist.append(x)
print(rlist)
參考答案: [23, 45, 67, 90]
?
15. 如下代碼運(yùn)行后的輸出結(jié)果是:?????????????? 。
alist=[1,3,5,7,9,3,6,7,9]
alist= list(set(alist))
print(alist)
參考答案: [1, 3, 5, 6, 7, 9]
?
16. 補(bǔ)充缺失的代碼,統(tǒng)計(jì)alist中各單詞出現(xiàn)的個(gè)數(shù)。
alist = ["this","big","cat","big","cat","too","big"]
adict = dict()
for i in alist:
??? adict[i] =??????????????????
for k,v in ????????????????? :
??? print(k,v)
參考答案: ?adict.get(i,0) + 1 ????adict.items()?
17. 補(bǔ)充缺失的代碼,計(jì)算字典中所有學(xué)生的平均成績(保留兩位小數(shù))。
adict = {"語文":78, "數(shù)學(xué)":97, "英語":89, "物理":95,"化學(xué)":91}
n = len(adict)
s = sum(????????????? )
avr = s/n
print("平均成績?yōu)?/span>{0:.2f}".format(??????????????????? ))
參考答案: ?adict.values() ???avr?
?
18. 如下程序段的輸出結(jié)果是:
adict = {"政治":98, "語文":77, "數(shù)學(xué)":99, "歷史":65}
for x in list(adict.items()):
??? if x[1]<70:
??????? del adict[x[0]]
print(sum(adict.values()))
參考答案: ?? 274??
?
19. 補(bǔ)充缺失的代碼,使其輸出結(jié)果為'fuyang'
src = "c:\\workspace\\python\\output\\fuyang.json"
s = src.split("\\")[-1]
t = ??????????????
print(t)
參考答案: ?s.split(".")[0]
?
20. 補(bǔ)充缺失的代碼,使其輸出結(jié)果為:"c:\\workspace\\python\\syc\\ret.json"
alist = ['c:', 'workspace', 'python', 'syc', 'ret','json']
s = "\\".join(?????????????? )
t = ".".join(???????????????? )
path = "\\".join(??????????????? )
print(path)
參考答案: alist[:4] ???alist[4:] ???[s,t]
?
21. 補(bǔ)充缺失的代碼,實(shí)現(xiàn)猜數(shù)游戲。游戲先隨機(jī)生成一個(gè)1-100之間的整數(shù)magic,用戶有6次機(jī)會(huì)猜這個(gè)數(shù)字。
import random
magic = random.randint(1,100)
count = 6
for i in range(1,count+1):
??? guess = int(input("猜一個(gè)1-100之間的整數(shù):"))
??? if guess <magic:
??????? print("猜的小了!")
??? elif ??????????????????? :
??????? print("猜的大了!")
??? else:
??????? print(f"恭喜你,你猜了{i}次,終于猜對了!正確答案就是{magic}")
??????? ??????????????????
else:
??? print(f"你猜了{i}次,都沒有猜對!正確答案是{magic}")
參考答案: ???guess > magic? ?????? break? ?
?
?
程序設(shè)計(jì)題
1. 利用以下input 函數(shù)輸入字符串并for循環(huán)對字符串的每個(gè)字符遍歷,若遇到小寫字母改成大寫。
提示:
---input()函數(shù)可以鍵盤輸入
---for 循環(huán)表達(dá)式 for s in string:
---upper 小寫改大寫
參考程序代碼:
aString = input('請輸入一個(gè)字符串:')
bString = ''
for char in aString:
? ? if 'a' <= char <= 'z':
? ? ? ? bString += char.upper()
? ? else:
? ? ? ? bString += char
print(bString)
?
2. 檢測輸入的字符串是否合法,字符串必須大寫字母開頭且由數(shù)字和字母共同組成。例如,Abc1123,合法。
提示:
----salpha() 檢測字符串是否全部由字符組成
----isdigit() 檢測字符串是否全部由數(shù)字組成
參考程序代碼:
username = input('用戶名:')
if 'A' <= username[0] <= 'Z':
? ? if username.isalpha() or username.isdigit():
? ? ? ? print('不合法')
? ? else:
? ? ? ? for i in username:
? ? ? ? ? ? if not ('1' <= i <= '9' or 'A' <= i <= 'Z' or 'a' <= i <= 'z'):
? ? ? ? ? ? ? ? print('不合法')
? ? ? ? ? ? ? ? break
? ? ? ? else:
? ? ? ? ? ? print('合法')
else:
print('不合法,第一個(gè)字母必須是大寫字母')
?
3. 打印如下效果:
?
1 2 3 4 5 6
?1 2 3 4 5
? 1 2 3 4
? ?1 2 3
? ? 1 2
? ? ?1
參考程序代碼:
for i in range(6,0,-1):
? ? a = 6 - i
? ? print(' '*a,end='')
? ? for j in range(1,7):
? ? ? ? if j <= i:
? ? ? ? ? ? print(j,end=' ')
? ? print()
?
?
4. 打印如下效果:
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
參考程序代碼:
?
for i in range(6,0,-1):
? ? for j in range(1,7):
? ? ? ? if j <= i:
? ? ? ? ? ? print(j,end=' ')
? ? print()
?
5. 一對兔子每三個(gè)月可以生一個(gè)兔子。
計(jì)算兔子某個(gè)月生的兔子總數(shù)
參考程序代碼:
a = b = 1
c = 0
n = int(input('請輸入第幾個(gè)月:'))
if n == 1 or n == 2:
? ? print('1')
else:
? ? i = 2
? ? while i < n:
? ? ? ? c = a + b
? ? ? ? a = b
? ? ? ? b = c
? ? ? ? i += 1
? ? print(c) ? ?
?
6. 一個(gè)人趕著鴨子去每個(gè)村莊賣,每經(jīng)過一個(gè)村子賣去所趕鴨子的一半又一只。這樣他經(jīng)過了七個(gè)村子后還剩兩只鴨子,問他出發(fā)時(shí)共趕多少只鴨子?
參考程序代碼:
def f(n):
? ? if n == 8:
? ? ? ? return 2
? ? else:
? ? ? ? sum = f(n+1)*2+2
? ? return sum
print('一共有{}只鴨子'.format(f(1))) ? ?
?
7. 給定一個(gè)非空的正整數(shù)列表 arr ,
請計(jì)算所有可能的奇數(shù)長度子列表的和(子列表指原列表中的一個(gè)連續(xù)子序列)
arr=[1, 4, 2, 5, 3]
參考程序代碼:
arr=[1, 4, 2, 5, 3]
res_sum, arr_len = 0, len(arr)
for small_arr_len in range(1, arr_len + 1, 2): ?
? ? for i in range(arr_len): ?
? ? ? ? if i + small_arr_len <= arr_len: ?
? ? ? ? ? ? for j in range(i, i + small_arr_len): ?
? ? ? ? ? ? ? ? res_sum += arr[j]
print (res_sum)
?