程序設(shè)計(jì)及應(yīng)用(Python)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第1頁(yè)
程序設(shè)計(jì)及應(yīng)用(Python)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第2頁(yè)
程序設(shè)計(jì)及應(yīng)用(Python)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第3頁(yè)
程序設(shè)計(jì)及應(yīng)用(Python)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第4頁(yè)
程序設(shè)計(jì)及應(yīng)用(Python)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

程序設(shè)計(jì)及應(yīng)用(Python)學(xué)習(xí)通超星期末考試章節(jié)答案2024年下列有關(guān)python語(yǔ)言的說(shuō)法正確的是?

答案:python語(yǔ)言對(duì)大小寫敏感;python通過(guò)縮進(jìn)形式體現(xiàn)程序的結(jié)構(gòu);python擁有大量的第三方庫(kù)idle源程序窗口中,將選中所有語(yǔ)句向后增加縮進(jìn)可以使用以下哪個(gè)快捷鍵?

答案:ctrl+

]python自帶的最基本的編程工具是?

答案:IDLEpython3.x和python2.x完全兼容

答案:錯(cuò)誤以下關(guān)于Python語(yǔ)言中“縮進(jìn)”說(shuō)法正確的是

答案:縮進(jìn)在程序中一般長(zhǎng)度統(tǒng)一且強(qiáng)制用于表達(dá)程序的邏輯下列有關(guān)python語(yǔ)言的說(shuō)法錯(cuò)誤的是

答案:python采用編譯執(zhí)行方式Python源文件的后綴名是什么?

答案:py不能用來(lái)開發(fā)Python程序的是哪一個(gè)選項(xiàng)?

答案:word下列不屬于程序設(shè)計(jì)中高級(jí)語(yǔ)言的是哪一個(gè)選項(xiàng)?

答案:office以下關(guān)于Python的描述,正確的是:

答案:它是一種解釋執(zhí)行的語(yǔ)言Python編程工具idle有兩種使用窗口,分別是交互式命令行窗口和源程序(或源文件)窗口。

答案:對(duì)在Windows平臺(tái)上編寫的Python程序無(wú)法在Mac平臺(tái)運(yùn)行。

答案:錯(cuò)機(jī)器語(yǔ)言和匯編語(yǔ)言都屬于低級(jí)語(yǔ)言。

答案:對(duì)Python是一種開源免費(fèi)的高級(jí)編程語(yǔ)言。

答案:對(duì)通過(guò)float()函數(shù)可以把任意類型的數(shù)據(jù)轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù)

答案:錯(cuò)在數(shù)值運(yùn)算表達(dá)式中推薦使用小括號(hào)來(lái)更好的表達(dá)運(yùn)算的邏輯關(guān)系

答案:對(duì)兩個(gè)數(shù)進(jìn)行“//”運(yùn)算的結(jié)果一定是整數(shù)

答案:錯(cuò)a=eval(input('請(qǐng)輸入一個(gè)數(shù):'))

變量a一定指向一個(gè)整數(shù)對(duì)象

答案:錯(cuò)Python變量名可以包含的字符有:

答案:小寫字母(a~z);大寫字母(A~Z);數(shù)字(0~9);下劃線(_);漢字以下是變量合法命名的是?

答案:My_python1;mython1python中所有數(shù)值都可以準(zhǔn)確比較是否相等,這種說(shuō)法是否正確?

答案:錯(cuò)誤/star3/origin/da94387992754eccbab915d2809db2ab.png

答案:result=(total*rateMonth*(1+rateMonth)**terms)/((1+rateMonth)**terms-1)0b010表示的是?

答案:二進(jìn)制數(shù)請(qǐng)?jiān)趇dle交互式窗口中運(yùn)行:round(8.7)

,round(8.7,0),二者的結(jié)果是?

答案:(9,9.0)以下哪個(gè)表達(dá)式可以表示“n的平方根”?

答案:pow(n,0.5)以下哪個(gè)表達(dá)式可以表示“n除以2的余數(shù)”?

答案:n%2下列python語(yǔ)句錯(cuò)誤的是:

答案:a,b=10執(zhí)行print('hello')命令時(shí),輸出數(shù)據(jù)后會(huì)自動(dòng)換行,如果輸出后不想換行,可以將命令改為:??????print('hello',end='')

答案:正確下列哪個(gè)選項(xiàng)不是合法的python語(yǔ)句?

答案:a=eval(1+2)如果在一個(gè)輸出語(yǔ)句中同時(shí)輸出變量a、b、c的值,并且要求三個(gè)值之間用分號(hào)分隔,下列語(yǔ)句正確的是?

答案:print(a,b,c,sep=';')下面不屬于Python保留字的是?

答案:print以下哪個(gè)函數(shù)用于實(shí)現(xiàn)輸入功能?

答案:input()以下不是Python數(shù)據(jù)類型的是?

答案:實(shí)數(shù)在python語(yǔ)言中在屏幕上打印"HELLO"的正確表達(dá)是

答案:print("HELLO")3.[其它]輸入一個(gè)三位數(shù),判定該三位數(shù)是否是水仙花數(shù),水仙花數(shù)是指一個(gè)3位整數(shù),它的每位數(shù)字的3次冪之和等于其本身(例153),運(yùn)行2遍程序(分別輸入153,111),提交程序代碼、運(yùn)行結(jié)果截圖。正確答案:153是水仙花數(shù)

111不是水仙花數(shù)

答案:n=int(input('請(qǐng)輸入一個(gè)三位正整數(shù):'))

#獲取輸入result='不是'

#結(jié)果初始化bai=(n//100)%10shi=(n//10)%10ge=n%10ifn==pow(bai,3)+pow(shi,3)+pow(ge,3):

result='是'

#更新結(jié)果print(n,result,'水仙花數(shù)')在學(xué)習(xí)字符串部分后,可以運(yùn)用字符串處理(把整數(shù)當(dāng)作字符串,通過(guò)位置號(hào)獲取每位數(shù)并轉(zhuǎn)化為整數(shù)):n=input('請(qǐng)輸入一個(gè)三位正整數(shù):')iflen(n)!=3

ornotn.isdecimal():

print('輸入不合要求')else:

bai=int(n[0])

shi=

int(n[1])

ge=

int(n[2])

result='{}不是水仙花數(shù)'.format(n)

#結(jié)果初始化

ifint(n)==bai**3+shi**3+ge**3:

result='{}是水仙花數(shù)'.format(n)

#更新結(jié)果

print(result)2.[其它]編程實(shí)現(xiàn):輸入任意一個(gè)正整數(shù),如果該數(shù)為奇數(shù)(即該數(shù)除以2的余數(shù)等于1),則輸出其三次方的值,如果該數(shù)為偶數(shù),則輸出其平方根。運(yùn)行2遍(分別輸入3、20)程序,提交程序源碼和運(yùn)行結(jié)果截圖。注意:判斷兩個(gè)數(shù)是否相等用雙等號(hào)==

答案:n=int(input('請(qǐng)輸入一個(gè)正整數(shù):'))

#輸入result=0

#結(jié)果初始化為0ifn%2==1:

result=n**3else:

result=round(n**0.5,2)

#或round(pow(n,0.5),2))print(result)1.[其它]編程實(shí)現(xiàn):輸入圓的半徑,計(jì)算圓面積和周長(zhǎng)并輸出。π取3.1415并賦值給變量pi,運(yùn)行程序,半徑輸入4,提交源碼文件、運(yùn)行結(jié)果截圖。正確答案:圓面積為:50.264

周長(zhǎng)為:25.132

答案:pi=3.1415

radius=eval(input("請(qǐng)輸入圓半徑:"))area=

pi*radius*radiuscirc=2*pi*radiusprint('圓面積為:',area,'

周長(zhǎng)為:',circ)

#或者:print('圓面積為:{},周長(zhǎng)為:{}'.format(area,circ))s='#a\tb\tc#',以下說(shuō)法正確的是?(請(qǐng)先在idle里測(cè)試)

答案:s.strip('#a')的結(jié)果是'\tb\tc';執(zhí)行s.replace('#','$')后,s的值不變下列哪些表達(dá)式是正確的?

答案:print('{0}的絕對(duì)值為{0}'.format(65));print('{0}保留3位小數(shù):{0:.3f}

,保留2位小數(shù)的百分?jǐn)?shù)形式為:{0:.2%}'.format(0.34568));print('今年銷售增長(zhǎng)率為:{:.2%}'.format(23/1021))s='

123',以下哪些表達(dá)式的值是'

123

123'?

答案:s+s;s*2;2*ss='#abc#',下列哪些表達(dá)式的值是字符串'abc'?

答案:s.replace('#','');s.strip('#');s[1:-1]s="Python應(yīng)用基礎(chǔ)",下列表達(dá)式中哪一項(xiàng)與其余各項(xiàng)的結(jié)果是不相同的:

答案:s[-4:-5]哪個(gè)選項(xiàng)是下面代碼的執(zhí)行結(jié)果?s='PYTHON'print('{0:3}'.format(s))

答案:PYTHON下列哪個(gè)表達(dá)式可以獲得'A'的unicode編碼?

答案:ord('A')/star3/origin/6b5196e0210480c9b4469fed6f43bf40.png

答案:1010運(yùn)行語(yǔ)句s="{:>,.2f}".format(1087.65678)后,s的值是:

答案:"1,087.66"s='abc',

下列哪個(gè)表達(dá)式不能實(shí)現(xiàn)取字符串s的最后一個(gè)字符?

答案:s[len(s)]a=100,將a變?yōu)樽址?100’

可用以下哪個(gè)函數(shù)?

答案:a=str(a)s='

字符串

',取消s首尾空格可以用?

答案:s.strip()以下哪個(gè)函數(shù)可以獲得字符串的長(zhǎng)度?

答案:len()以下關(guān)于轉(zhuǎn)義字符描述錯(cuò)誤的是?

答案:len("\t")的結(jié)果是23.[其它]某人從銀行貸款10萬(wàn),還款期限10年,每月還款1200元,請(qǐng)編程實(shí)現(xiàn):計(jì)算該項(xiàng)貸款平均每年的利率(提示:10年支付的總利息占本金的比例平均到10年,不考慮復(fù)利),以保留2位小數(shù)的百分?jǐn)?shù)形式格式化輸出該利率。將源碼和運(yùn)行結(jié)果截圖提交。

答案:loan=100000pay=1200

year=10rate=0

#結(jié)果初始化,因下面無(wú)條件對(duì)rate賦值,該句可以省略payall=pay*12*year

#10年的總支出rate=(payall-loan)/loan/yearprint('該項(xiàng)貸款平均每年的利率為{:.2%}'.format(rate))

#或:print('該項(xiàng)貸款平均每年的利率為:',round(rate*100,2),'%')2.[其它]編寫程序,輸入一個(gè)正整數(shù),判斷其是否為回文數(shù)。回文數(shù)是指正序和逆序表示的數(shù)值相等。比如,12321的逆序數(shù)也是12321,12321是回文數(shù),12341的逆序數(shù)是14321,不是回文數(shù)。運(yùn)行程序兩次,分別輸入:98789

98765

,將源碼和運(yùn)行結(jié)果截圖提交。

答案:n=input('請(qǐng)輸入一個(gè)正整數(shù):')

#獲取輸入r='不是回文數(shù)'

#結(jié)果初始化if

notn.isdecimal():

#對(duì)初學(xué)者,也可以不考慮該步驟的判斷

print('輸入非正整數(shù)')else:

ifn==n[::-1]:

r='是回文數(shù)'

print(n,r)或:n=input('請(qǐng)輸入一個(gè)正整數(shù):')r=‘’

#結(jié)果初始化為空串if

notn.isdecimal():

print('輸入非正整數(shù)')else:

ifn==n[::-1]:

r='{}

是回文數(shù)'.format(n)

else:

r='{}

不是回文數(shù)'.format(n)

print(r)1.[其它]輸入任意一個(gè)0-9之間的正整數(shù),判定輸入的合法性(一位且是數(shù)字),合法則輸出其對(duì)應(yīng)的漢字?jǐn)?shù)字,例如:0--

零,1----一;不合法輸出提示。將源碼、運(yùn)行結(jié)果截圖提交。

答案:n=input('請(qǐng)輸入一個(gè)0-9之間的數(shù)字:')result=''iflen(n)==1andn.isdecimal():

#n.isdecimal也可以是:n.isdigit()

nin'0123456789'

n=int(n)

s='零一二三四五六七八九十'

result=s[n]

print(n,'對(duì)應(yīng)的漢字?jǐn)?shù)字:'

,result)else:

print('輸入不合法')程序的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

答案:對(duì)在循環(huán)中else子句所引導(dǎo)的代碼塊只有在循環(huán)正常結(jié)束(不是執(zhí)行了break)的情況下才會(huì)執(zhí)行。

答案:對(duì)while循環(huán)語(yǔ)句的循環(huán)體有可能一次都不會(huì)被執(zhí)行。

答案:對(duì)s='12345'print(s.isdigit())程序結(jié)果是:True

答案:對(duì)(4>5)or(3=='3')的值是False

答案:對(duì)分支結(jié)構(gòu)語(yǔ)句中,程序最多只能執(zhí)行其中一個(gè)分支中的語(yǔ)句。

答案:對(duì)分支結(jié)構(gòu)中,if子句下的語(yǔ)句和else子句下的代碼有可能會(huì)同時(shí)執(zhí)行

答案:錯(cuò)分支結(jié)構(gòu)可以向已經(jīng)執(zhí)行過(guò)的語(yǔ)句跳轉(zhuǎn)

答案:錯(cuò)下列哪些表達(dá)式的結(jié)果為True?

答案:5<=len('12345678')<=10;not

'';int('12345678'[-1])

%

2==0下面哪個(gè)程序條件可以表達(dá)下面的含義:“x和y均不為0,且兩者要么同時(shí)為正,要么同時(shí)為負(fù)”

答案:(x<0andy<0)or(x>0andy>0);(x*y)>0下列哪個(gè)條件語(yǔ)句可以表示:n能被3整除并且n不能被6整除,或者n能被9整除

答案:n%3==0andn%6!=0orn%9==0下列哪個(gè)表達(dá)式是正確的?

答案:“{},你好”.format("女士"ifsexy=="female"else"先生")python通過(guò)()來(lái)判斷操作是否在分支結(jié)構(gòu)中。

答案:縮進(jìn)以下哪一個(gè)條件表達(dá)式是不合法的?

答案:x=ya=3,下面條件表達(dá)式的結(jié)果是:(a<5anda>1)ora%2==0

答案:True下面條件表達(dá)式的結(jié)果是:Falseand(FalseorTrue)

答案:False下面條件表達(dá)式的結(jié)果是:FalseandFalseorTrue

答案:True3.[其它]編程實(shí)現(xiàn):任意輸入一個(gè)字符串,計(jì)算其中包含的數(shù)字的個(gè)數(shù)。

答案:s=input("請(qǐng)輸入一個(gè)字符串:")num_count=0forcins:

ifc.isdecimal():

#也可以用c.isdigit()方法

num_count+=1print('{}中包含{}個(gè)數(shù)字'.format(s,num_count))考察要點(diǎn):字符串的遍歷、構(gòu)成特點(diǎn)判斷2.[其它]編程輸出數(shù)字中含7,而且能被7整除的所有的三位數(shù)(100-999),數(shù)字在同一行顯示(輸出后不換行,附加空格)。(注意數(shù)據(jù)類型與運(yùn)算符的匹配)

答案:forninrange(100,1000):

#注意range函數(shù)中,1000不在范圍內(nèi)

if

n%7==0and"7"

in

str(n):

#注意包含是字符串運(yùn)算

print(n,end="

")

#輸出不換行1.[其它]某超市搞五一促銷活動(dòng):購(gòu)物達(dá)300元(含)-500元,85折優(yōu)惠;

達(dá)500元(含)-800元,7折優(yōu)惠;

800元(含)及以上,6折優(yōu)惠編程實(shí)現(xiàn):輸入購(gòu)物額,計(jì)算并輸出優(yōu)惠后的付款額

答案:value=eval(input("請(qǐng)輸入購(gòu)物額:"))money=value

#付款額初始化為購(gòu)物額if

value>=800:

#最高優(yōu)惠檔

money=value*0.6

elifvalue>=500

#隱含條件value<800

money=value*0.7elifvalue>=300:

#隱含條件value<500

money=value*0.85print('付款額:',money)或者:value=eval(input("請(qǐng)輸入購(gòu)物額:"))money=value

#付款額初始化為購(gòu)物額if

value<300:

#無(wú)優(yōu)惠

pass

#什么也不做elifvalue<500:

#隱含條件value>=300

money=value*0.85elifvalue<800:

#隱含條件value>=500

money=value*0.7else:

#隱含條件value>=8

money=value*0.6print('付款額:',money)注意要點(diǎn):

1.

多分枝的后一個(gè)條件隱含前面的條件不成立,條件的書寫順序很重要;

2.多個(gè)條件的表達(dá)順序:閾值從小到大,應(yīng)該用<,從大到小,應(yīng)該用>3.[其它]完數(shù)指一個(gè)數(shù)恰好等于它的所有因子(不包括其本身)之和。例:6的因子是1,2,3,而6=1+2+3,因此6是完數(shù)編程輸出1000之內(nèi)的所有完數(shù)。

答案:forninrange(1,1000):

#逐一取1000以內(nèi)的數(shù)

#循環(huán)體為判定當(dāng)前n值是否為完數(shù)

s=0

#n的因子和初始為0

foriinrange(1,n):

#逐一測(cè)試可能的因子(內(nèi)層循環(huán))

ifn%i==0:

#當(dāng)前i值是當(dāng)前n值的因子

s+=i

#累加因子

ifs==n:

#內(nèi)層循環(huán)結(jié)束后,比較因子和與n本身,相等則n為完數(shù),輸出n

print(n,end='')2.[其它]用戶輸入一個(gè)密碼,要求密碼至少8位、只能包含字母、漢字、數(shù)字、下劃線,并且只能以下劃線開頭,請(qǐng)編程實(shí)現(xiàn)密碼輸入,并判定其是否合法。提示:可以用

字符串.isalnum()方法測(cè)試輸入:abc123

(不合法)_Abc_123(合法)_abc*123

(不合法)

答案:方案一:整個(gè)密碼整體判斷初始化為不合法,如果密碼滿足長(zhǎng)度條件,并且以下劃線開頭,則將密碼中的所有下劃線去除,剩下的內(nèi)容再用.isalnum()判定是否只包含字母、漢字、數(shù)字,是則合法passw=input('請(qǐng)輸入密碼:')result=

'密碼不合法'iflen(passw)

>=8

and

passw[0]=='_':

#密碼滿足長(zhǎng)度條件,并且以下劃線開頭

passw=passw.replace('_','a')

#所有下劃線以合法字符‘a(chǎn)’代替(‘a(chǎn)’可以是任意合法字符),因8個(gè)下劃線合法,故不能用空串代替

ifpassw.isalnum():

#除下劃線外的passw中只包含數(shù)字、字符、漢字

result='密碼合法'

print(result)

或者上述方案中初始化為空串或合法或不合法,如果滿足條件則為合法,否則都是不合法passw=input('請(qǐng)輸入密碼:')result=

''

#初始化為空iflen(passw)

<8

or

passw[0]!='_':

#密碼不滿足長(zhǎng)度條件,或者不以下劃線開頭

result='密碼不合法!'else:

passw=passw.replace('_','a')

#去除所有下劃線

ifpassw.isalnum():

#除下劃線外的passw中只包含數(shù)字、字符、漢字

result='密碼合法'

else:

result='密碼不合法!'print(result)

方案二:采用循環(huán)判斷每個(gè)字符的方案:思路1:首先對(duì)密碼長(zhǎng)度和是否以下劃線開頭進(jìn)行判斷,如果滿足條件,則對(duì)合法字符計(jì)數(shù),如果合法字符個(gè)數(shù)等于原密碼字符個(gè)數(shù)則輸入合法,否則不合法。passw=input('請(qǐng)輸入密碼:')result='密碼不合法!'

#或空串

或合法

iflen(passw)

>=8

and

passw[0]=='_':

correct=0

#合法字符個(gè)數(shù)初始為0

forchinpassw:

ifch=='_'orch.isalnum():

#ch.isalnum()判斷ch是否為字母或漢字或數(shù)字

(合法字符)

correct+=1

#合法字符個(gè)數(shù)+1

#循環(huán)結(jié)束

ifcorrect==len(passw):

#如果合法字符個(gè)數(shù)等于原密碼字符個(gè)數(shù)則輸入合法

result='密碼合法!'

else:

result='密碼不合法!'

#或pass,也可以沒(méi)有else子句print(result)思路2:結(jié)果初始化為合法;如果密碼不滿足長(zhǎng)度條件或者不以下劃線開頭,則肯定不合法,否則循環(huán)測(cè)試每個(gè)字符的合法性,只要一個(gè)字符不合法則確定密碼不合法,中斷循環(huán)passw=input('請(qǐng)輸入密碼:')result='合法'iflen(passw)

<8

orpassw[0]!='_':

result='密碼不合法!'else:

forchinpassw:

ifnot(ch=='_'orch.isalnum()):#只要一個(gè)字符不合法則可以確定輸入不合法

result='密碼不合法!'

breakprint(result)注意:合法密碼需要同時(shí)滿足三方面的條件(長(zhǎng)度、以下劃線開頭、只能包含特定的字符)

字符串.is系列函數(shù)

只有字符串中的所有字符(不是某些字符)滿足函數(shù)功能對(duì)應(yīng)的條件才返回True。1.[其它]用戶輸入一個(gè)正整數(shù),如果該正整數(shù)為偶數(shù),則計(jì)算小于等于該正整數(shù)的所有偶數(shù)之和,如果該正整數(shù)為奇數(shù),則計(jì)算小于等于該正整數(shù)的所有奇數(shù)之乘積。

答案:n=int(input('請(qǐng)輸入一個(gè)正整數(shù):'))ifn%2==0:

#偶數(shù)

result=0

#結(jié)果初始化為0

foriinrange(2,n+1,2):

result+=i

#累加else:

result=1

#奇數(shù)時(shí)結(jié)果初始化為1

foriinrange(1,n+1,2):

result*=iprint(result)注意:不同情況結(jié)果初始化的合理值不同5

if

5>6

else

(6

if

3>2

else

5)

上述表達(dá)式的結(jié)果為5

答案:錯(cuò)字符串對(duì)象的format方法的結(jié)果一定是字符串類型的對(duì)象

答案:對(duì)用whileTrue:實(shí)現(xiàn)的永真循環(huán)對(duì)程序運(yùn)行沒(méi)有任何意義。

答案:錯(cuò)if語(yǔ)句中條件部分可以使用任何能夠產(chǎn)生TrueFa或lse的語(yǔ)句和函數(shù)。

答案:對(duì)執(zhí)行s=

'helloworld'

語(yǔ)句后,foriinrange(len(s)):

print(s[i])與forcins:

print(c)功能和結(jié)果是一樣的

答案:對(duì)forsin"Hello":

ifs=="l":

break

print(s,end="")

程序的運(yùn)行結(jié)果是顯示He

答案:對(duì)for

s

in

"Hello":

if

s=="l":

continue

print(s,end="")

程序的結(jié)果是顯示He

答案:錯(cuò)以下關(guān)于Python中的“縮進(jìn)”說(shuō)法錯(cuò)誤的是哪項(xiàng)?

答案:縮進(jìn)只是為了對(duì)齊代碼,以提高代碼的可讀性下列程序的輸出結(jié)果是________:n=23foriinrange(3,10):

ifn%i==0:

print('break')

breakelse:

print('end')

答案:endk=0

s="qqqtqqq"

foriinrange(len(s)):

ifs[i]=='q':

k+=1

continue

else:

k+=2

break

print(k)

上面的程序輸出結(jié)果是:

答案:5x=10

c=0

whileTrue:

x=x-1

ifx==1:

break

c+=1

print(c)上面程序的輸出結(jié)果是:

答案:8forsin"PYTHON":

print(s,end="")

else:

print("正常退出")

上面的程序輸出結(jié)果是:

答案:PYTHON正常退出k=10

whilek>1:

print(k)

k=k/2

上面的程序輸出多少個(gè)數(shù)?

答案:4s,t=0,0

foriinrange(1,4):

t=t+i

s=s+t

print(s)上面程序的輸出結(jié)果是()

答案:10forvarin_____:

print(var)

下面哪個(gè)選項(xiàng)不符合上述程序空白處的語(yǔ)法要求?

答案:{1;2;3;4;5}哪個(gè)選項(xiàng)關(guān)于循環(huán)的描述是錯(cuò)誤的???????????????????????????????????????????????????????????????????????????????????????????????

答案:死循環(huán)無(wú)法退出,沒(méi)有任何作用20/4的結(jié)果為5

答案:錯(cuò)input()函數(shù)的返回值可以是字符串,也可以是數(shù)值。

答案:錯(cuò)a.var是合法的變量名

答案:錯(cuò)字符串對(duì)象創(chuàng)立后,除了可以通過(guò)del命令刪除該對(duì)象外,該對(duì)象不會(huì)發(fā)生任何改變

答案:對(duì)'a'+'b'*2*2的結(jié)果是'abbabb'

答案:錯(cuò)默認(rèn)狀態(tài)下,不同print()語(yǔ)句輸出的結(jié)果將顯示在不同行上(即以換行符進(jìn)行分隔)

答案:對(duì)執(zhí)行importmath語(yǔ)句后,下列哪些表達(dá)式可以表示數(shù)值n的平方根?

答案:math.sqrt(n)

;n**0.5;pow(n,0.5)下列導(dǎo)入模塊或模塊中函數(shù)的方式,正確的是(其中math是模塊,sqrt和exp是函數(shù)):

答案:importmath;importmathasmt;frommathimportsqrt,exps="股票:{:0>6}".format(108)s的結(jié)果是?

答案:"股票:000108"以下哪項(xiàng)導(dǎo)入模塊的方式錯(cuò)誤的?

答案:importsqrtfrommathPython標(biāo)準(zhǔn)庫(kù)random中的___函數(shù)的作用是從序列中隨機(jī)選擇多個(gè)樣本?

答案:sample執(zhí)行importrandom語(yǔ)句后,從字符串s中任意取一個(gè)字符的函數(shù)是:

答案:random.choice(s)

執(zhí)行from

randomimportrandint語(yǔ)句后,可以通過(guò)n=

_______將變量n指向一個(gè)1到10之間的隨機(jī)整數(shù)。

答案:randint(1,10)

執(zhí)行import

random語(yǔ)句后,可以通過(guò)n=

_______將變量n指向一個(gè)1到10之間的隨機(jī)整數(shù)。

答案:random.randint(1,10)

random庫(kù)中將列表中的元素隨機(jī)排列,并改變?cè)斜淼暮瘮?shù)名是:

答案:shuffleimportrandoma=random.random()對(duì)a的值,下列說(shuō)法正確的是()

答案:可能是0,不可能是1以下哪種類型的函數(shù)不需要導(dǎo)入就可以直接調(diào)用?

答案:內(nèi)置函數(shù)Python安裝第三方庫(kù)的命令是____。

答案:pip;pip3;pipinstall;pip3install隨機(jī)產(chǎn)生密碼,有效密碼要求同時(shí)滿足以下條件:(1)長(zhǎng)度為8位(2)

僅包含大小寫字母、數(shù)字、下劃線,允許有重復(fù)字符(3)不能以數(shù)字開頭編程實(shí)現(xiàn):得到10個(gè)有效密碼并輸出

答案:fromrandomimportchoice#以下產(chǎn)生字母和下劃線構(gòu)成的字符串s=''#產(chǎn)生26個(gè)大寫字符foriinrange(ord('A'),ord('Z')+1):

s=s+chr(i)s=s+s.lower()+'_'

#大小寫字母和下劃線構(gòu)成的字符串digit='0123456789'

#數(shù)字構(gòu)成的字符串#以下產(chǎn)生10個(gè)有效密碼'''思路一:循環(huán)10次,每次產(chǎn)生一個(gè)合法字符:(1)直接從非數(shù)字s中隨機(jī)獲取一個(gè)字符作為密碼的第一個(gè)字符(2)循環(huán)7次,每次從s+digit中隨機(jī)獲取1個(gè)字符加入密碼字符串(3)輸出密碼'''foriinrange(10):

#循環(huán)10次產(chǎn)生10個(gè)合法密碼

#以下產(chǎn)生一個(gè)合法密碼

passw=choice(s)

#密碼初始化為隨機(jī)一個(gè)字母或下劃線

forjinrange(7):

#循環(huán)7次隨機(jī)產(chǎn)生7個(gè)合法字符并加入密碼

passw+=choice(s+digit)

print(passw)'''思路二:產(chǎn)生不確定個(gè)數(shù)的8位密碼,對(duì)滿足條件的密碼計(jì)數(shù),直到滿足條件的密碼個(gè)數(shù)達(dá)到10個(gè)為止1.有效密碼個(gè)數(shù)初始化為02.while

有效密碼個(gè)數(shù)小于10個(gè)執(zhí)行以下循環(huán)體:(1)密碼初始化為空串(2)循環(huán)8次,每次從s+digit字符串中隨機(jī)獲取1個(gè)字符加入密碼字符串(3)判定該密碼字符串是否以數(shù)字開頭,如果不以數(shù)字開頭,則輸出該密碼,并對(duì)密碼個(gè)數(shù)加1,否則繼續(xù)下一次循環(huán),繼續(xù)產(chǎn)生密碼'''pcount=0

#密碼計(jì)數(shù)s=s+digit

#s為可能構(gòu)成密碼的字符whilepcount<10:

passw=''

#密碼初始化為空

foriinrange(8):

#循環(huán)8次隨機(jī)產(chǎn)生1個(gè)字符并加入密碼

passw+=choice(s)

ifnotpassw[0].isdecimal():

#如果密碼不以數(shù)字開頭,輸出該密碼,有效個(gè)數(shù)加1

print(passw)

pcount+=1微信零錢通的年化利率是2.08%,每天結(jié)息且自動(dòng)將利息轉(zhuǎn)存(即復(fù)利),小明在年初存入零錢通1000元,以后每30天存入200元,一年后小明零錢通共有多少錢(結(jié)果保留2位小數(shù))?提示:第0天為初始狀態(tài)1000,從第一天開始循環(huán)計(jì)算:每天零錢通的錢數(shù)=昨天的錢數(shù)+一天的利息,如果當(dāng)天是30的倍數(shù)再加200,第365天的錢數(shù)就是最終結(jié)果。正確結(jié)果:3444.42元

答案:money_all=1000

#結(jié)果初始化為初始本金rate_day=0.0208/365

#日利率money_30=200

#中間每次存入200forday

inrange(1,366):

money_all=money_all

*(1+rate_day)

#計(jì)算每天的本息和

ifday%30==0:

#是否追加存入

money_all+=money_30

#追加存入print(round(money_all,2),'元')ls=[1,2,3],那么執(zhí)行語(yǔ)句ls.pop(1)之后,ls的值為[2,3]

答案:錯(cuò)[1,2]*2的執(zhí)行結(jié)果為[2,4]

答案:錯(cuò)ls=['10','2','5'],則表達(dá)式max(ls)的值為'5'

答案:對(duì)ls=[1,2,3,4]a,b,c,d=ls上述語(yǔ)句是正確的

答案:對(duì)由于列表可以包含多個(gè)表項(xiàng)(元素),因此兩個(gè)列表不能進(jìn)行大小比較。

答案:錯(cuò)由于元組是不可變數(shù)據(jù)類型,因此不能使用加號(hào)連接兩個(gè)元組。

答案:錯(cuò)s=[1,2,3,4],執(zhí)行以下代碼后,s1中的表項(xiàng)(即元素)與s中不同的是:

答案:s1=s.copy()s1[1]=10;s1=s[:]s1[1]=10列表ls=[1,2,3,4,5],以下可以實(shí)現(xiàn)刪除列表ls中值為2、3的兩個(gè)元素的有:

答案:dels[1:3];s[1:3]=[]執(zhí)行語(yǔ)句:ls=list()下列說(shuō)法不正確的是:

答案:執(zhí)行l(wèi)s.extend('python')后,ls包含一個(gè)元素依次執(zhí)行下列語(yǔ)句:ls=list('python')ls1=ls.copy()ls2=lsls2.append('abc')執(zhí)行后,下列說(shuō)法不正確的是?

答案:ls和ls1的值相同s=['a','b','c'],以下四個(gè)選項(xiàng)對(duì)應(yīng)的操作,哪個(gè)選項(xiàng)與其他三個(gè)選項(xiàng)得到的s的長(zhǎng)度不同:

答案:s.extend('def')以下哪個(gè)方法不可以刪除列表中的元素?

答案:index()編寫程序,用戶一次性輸入由分號(hào)分隔的若干個(gè)整數(shù),計(jì)算這些數(shù)的平均數(shù),輸出平均數(shù)、有多少個(gè)數(shù)大于平均數(shù),多少個(gè)數(shù)小于平均數(shù)。運(yùn)行程序,輸入:1;2;3;4;5;6;7;8;9

思路:1.獲取輸入(字符串類型)2.初始化2個(gè)計(jì)數(shù)變量為03.分割字符串得到各個(gè)數(shù)(字符串類型)構(gòu)成的列表4.按位置(索引)遍歷列表,將每個(gè)元素修改為對(duì)應(yīng)的整數(shù)5.計(jì)算平均值6.按元素遍歷列表:

比較元素值和平均值的關(guān)系,根據(jù)不同情況將對(duì)應(yīng)計(jì)數(shù)變量加17.輸出平均值和2個(gè)計(jì)數(shù)變量值

答案:someInt=input("請(qǐng)輸入一系列分號(hào)分隔的整數(shù):")aboveAvg=0belowAvg=0ls=someInt.split(";")

#得到存放各數(shù)的列表,元素為字符串for

i

inrange(len(ls)):

ls[i]=int(ls[i])avgn=sum(ls)/len(ls)

#求平均,必須在循環(huán)結(jié)束后進(jìn)行。#以下進(jìn)行計(jì)數(shù)forninls:

if

n>avgn:

aboveAvg+=1

elifnavgn:

aboveAvg+=1

elifn編程實(shí)現(xiàn):逐個(gè)輸入若干學(xué)生的成績(jī),保存在列表中,輸入0則結(jié)束輸入,輸出該列表及最高分、最低分、平均分(保留2位小數(shù))思路:1.定義一個(gè)空列表2.永真循環(huán):

(1)

輸入

(2)判定是否為0,是則跳出循環(huán),否則,將輸入加入列表3.輸出列表4.計(jì)算最高、最低、總和/個(gè)數(shù),并輸出

答案:ls=[]whileTrue:

score=eval(input('請(qǐng)輸入一個(gè)學(xué)生的成績(jī),輸入0則結(jié)束:'))

if

score==

0:

break

ls.append(score)print(ls)print('最高分:{},

最低分:{}

,平均分:{:.2f}'.format(max(ls),min(ls),sum(ls)/len(ls)))ls=[1,2,3,4,2,2,1]ls.remove(2)可以刪除ls中所有的值為2的元素

答案:錯(cuò)ls=[['a',80,90],['b',70,80],['c',70,90]]ls1=[e[0]foreinls]ls1的結(jié)果是['a','b','c']

答案:對(duì)x=[1,2,3]執(zhí)行語(yǔ)句

y

=

x[:]后,對(duì)y所做的任何操作都會(huì)同樣作用到x上

答案:錯(cuò)a,b='swufe','a'eval(b)的值為'a'

答案:錯(cuò)n=0.256print('{:.2%}'.format(n))輸出結(jié)果為:25.60%

答案:對(duì)[int(c)**2forcin'123'ifint(c)%2==0]的結(jié)果是[4]

答案:對(duì)ls是一個(gè)列表,ls.append([1,2])和ls.extend([1,2])的結(jié)果是一樣的

答案:錯(cuò)ls=['python','24','123']ls.sort(key=len)執(zhí)行上述語(yǔ)句后,ls的值為['24','123','python']

答案:對(duì)ls1=[1,2,2]ls2=[3,3,4]ls1=ls1+ls2和ls1.extend(ls2)的結(jié)果是一樣的

答案:對(duì)random庫(kù)中randint(a,b)函數(shù)生成一個(gè)[a,b]之間的隨機(jī)整數(shù)。

答案:對(duì)執(zhí)行下面哪個(gè)語(yǔ)句后,變量a的值一定不是數(shù)值類型?

答案:a=

input('請(qǐng)輸入:')下列語(yǔ)句錯(cuò)誤的是:

答案:if3in‘103’:

print('right')ls=[8,2,1,4,5],下列語(yǔ)句不會(huì)改變ls的是?

答案:ls.copy()

運(yùn)?下?的代碼:foriinrange(5):

forjinrange(i):

print('pass')pass共輸出了多少次?

答案:10下列表示字符"D"的表達(dá)式是:

答案:chr(ord("A")+3)下列程序的功能是:

t=1

s=0

foriinrange(1,11):

t=t*i

s=s+t

print(s)

答案:計(jì)算1!+2!+...+10!

并輸出n=12count=0while

n%2==0:

n=n//2

count+=1運(yùn)行上述程序后,count的值為?

答案:2運(yùn)?下?的語(yǔ)句:foriinrange(1,10,3):

print(i)共輸出了幾個(gè)數(shù)?

答案:3a=100,將a變?yōu)樽址?100'可?以下哪個(gè)函數(shù)?

答案:str(a)print('hello','python',end='!')的結(jié)果是

答案:hello

python!

for

xin

........,

以下哪個(gè)選項(xiàng)不能出現(xiàn)在in后?

答案:100ls=['python',[1,2,3],('4','5')]以下說(shuō)法錯(cuò)誤的是()

答案:sum(int(ls[-1]))的值為9下?程序的功能是:

s='abcde34567dd'

str1=''

forcins:

ifc.isdigit():

str1=str1+c

print(str1)

答案:找出字符串s中的所有數(shù)字并輸出4.[其它]隨機(jī)生成一個(gè)由小寫字母、逗號(hào)構(gòu)成的長(zhǎng)度為50的字符串,輸出該字符串,然后根據(jù)逗號(hào)分隔字符串,輸出分割后的最長(zhǎng)和最短字符串(提示:按字符串長(zhǎng)度排序)。

例如,假定隨機(jī)生成的是:babb,e,ebac,ecced,beccbd,bacbcaabccbedabeabebaded輸出格式為:最長(zhǎng)的字符串是:bacbcaabccbedabeabebaded最短的字符串是:e要求先以以下格式導(dǎo)入函數(shù)并設(shè)置種子:fromrandomimportchoice,seedseed(12)將程序和結(jié)果截圖提交,并以附件形式上傳程序文件

答案:fromrandomimportchoice,seedseed(12)#生成抽取字符的合法字符串,也可以直接賦值語(yǔ)句得到charschars=''foriinrange(ord('a'),ord('z')+1):

chars+=chr(i)chars+=','#隨機(jī)生成50個(gè)合法字符構(gòu)成的字符串s=''foriinrange(50):

s+=choice(chars)#上述3行也可以用列表推導(dǎo)式:

s=''.join([

choice(chars)foriinrange(50)

])print(s)#按逗號(hào)分隔字符串為列表ls=s.split(',')

#列表按照字符串長(zhǎng)度排序ls.sort(key=len)print('最長(zhǎng)的字符串是:{}\n最短的字符串是:{}'.format(ls[-1],ls[0]))3.[其它]輸入若干活動(dòng)的參與信息:每次輸入一個(gè)活動(dòng)名稱和參與人數(shù)(用逗號(hào)隔開),直接回車則結(jié)束輸入;將每次活動(dòng)的名稱和參與人數(shù)構(gòu)成一個(gè)小列表[活動(dòng)名稱,參與人數(shù)],該小列表作為一個(gè)元素保存在列表ls中。輸出ls;計(jì)算并輸出所有活動(dòng)參與的總?cè)藬?shù);將程序和結(jié)果截圖提交,并以附件形式上傳程序文件

答案:ls=[]

#初始化列表sumrs=0

#人數(shù)合計(jì)初始化whileTrue:

info=input('請(qǐng)輸入活動(dòng)名稱和參與人數(shù),中間用逗號(hào)隔開:')

iflen(info)==0:

#上面輸入時(shí)直接回車

break

name,rs=info.split(',')

ls.append([name,int(rs)])

#小列表作為元素加入列表ls

sumrs+=int(rs)

#累加人數(shù)print(ls)print(sumrs)#說(shuō)明:不一定邊輸入邊計(jì)算,也可以先得到列表,再遍歷列表計(jì)算總?cè)藬?shù)#或者ls=[]

#初始化列表whileTrue:

info=input('請(qǐng)輸入活動(dòng)名稱和參與人數(shù),中間用逗號(hào)隔開:')

iflen(info)==0:

#上面輸入時(shí)直接回車

break

name,rs=info.split(',')

ls.append([name,int(rs)])

#小列表作為元素加入列表lsprint(ls)rsls=[e[-1]foreinls]

#用列表推導(dǎo)式得到參與人數(shù)列表sumrs=sum(rsls)print(sumrs)1.[其它]輸入一個(gè)字符串,如果該字符串中包含下滑線"-",則將字符串去掉第一位字符后的剩余部分重復(fù)5次形成新串;否則將字符串的最后一位字符替換成下滑線"-"形成新串。輸出上述處理得到的新串。運(yùn)行程序2遍,分別輸入:ab_cde

abcdef將程序和結(jié)果截圖提交,并以附件形式上傳程序文件

答案:word=input('輸入一個(gè)單詞:')if'_'inword:

new_word=word[1:]*5else:

new_word=word[:-1]+'_'print(new_word)用戶輸入一串空格分隔的數(shù)字(例如:10

20

10

20

30

40),將其中的數(shù)字分隔開(用

字符串.split()

)保存在列表中(例如[10,20,10,20,30,40])

,輸出期中6的倍數(shù)。

答案:nstr=input('輸入一串空格分隔的數(shù)字:')nstrls=nstr.split()nls=[int(e)foreinnstrls]

#將nstrls的各元素轉(zhuǎn)化為整數(shù)形成新列表,或用nls=list(map(int,nstrls))foreinnls:

ife%6==0:

print(e)上面紅色部分也可以替換為:foreinnstrls:

ifint(e)%6==0:

print(e)stu1=['zhang',90]stu2=['wang',80]stu3=['li',78,69]ls=[stu1,stu2,stu3]則ls[-1][0:1]的值為‘li'

答案:錯(cuò)集合的元素允許重復(fù),集合是可變數(shù)據(jù)類型,可以改變它的某個(gè)元素

答案:錯(cuò)python源程序即可以編譯執(zhí)行,也可以解釋執(zhí)行

答案:錯(cuò)(5)*3的結(jié)果是(5,5,5)

答案:錯(cuò)continue和break語(yǔ)句只能出現(xiàn)在循環(huán)體中,continue表示結(jié)束本次循環(huán),回到本層循環(huán)開頭,break表示結(jié)束所有循環(huán)

答案:錯(cuò)ls=[1,2,3],ls.pop()和ls.pop(0)的功能是一樣的

答案:錯(cuò)兩個(gè)整數(shù)進(jìn)行+、-、*、/、//運(yùn)算的結(jié)果一定是整數(shù)

答案:錯(cuò)random庫(kù)中randint(a,b)的功能是產(chǎn)生a到b之間(包含a,不包含b)的隨機(jī)整數(shù)

答案:錯(cuò)ls=[2,3,2,3],則表達(dá)式[ls.index(n)forninlsifn%2]的值為[1,3]

答案:錯(cuò)else子句只能出現(xiàn)在分支結(jié)構(gòu)中

答案:錯(cuò)s=65r=''ifs<60:

r='fail'elif

s<85:

r='liang'elif

s<75:

r='jige'else:

r='youxiu'執(zhí)行以上語(yǔ)句后,r的值為'jige'

答案:錯(cuò)s=list('123454321')count=0foriinrange(len(s)):

ifint(s[i])<1:

count+=1

else:

break執(zhí)行上述語(yǔ)句后,count的值為2

答案:錯(cuò)forminrange(1,5):

ifm%3==0:

continue

else:

print(m,end=',')程序的運(yùn)行結(jié)果是:1,2,3,4,

答案:錯(cuò)ls=[['金融','1001',90],['會(huì)計(jì)','2001',80],['計(jì)科','1003',91],['金融','1005',85]]

列表元素的含義為:[專業(yè),學(xué)號(hào),成績(jī)]ls.sort()可以實(shí)現(xiàn)對(duì)ls各元素按照專業(yè)升序排列,專業(yè)相同時(shí)按照學(xué)號(hào)升序排列

答案:對(duì)移除集合中的元素時(shí),如果元素不存在,也不會(huì)報(bào)錯(cuò)的方法是remove()

答案:錯(cuò){1,2,3}>{3,2}的結(jié)果為False

答案:錯(cuò){1,2,3}-{2,3,4,5}的值為1

答案:錯(cuò)set([1,2,2,3])=={1,3,2}的值為True

答案:對(duì)ls=[1,2,2,3,4,4]set(ls)的值為{1,2,2,3,4,4}

答案:錯(cuò)以下程序的運(yùn)行結(jié)果是?st=set(map(int,'1234567567'))st.remove(5)print(st)

答案:{1,2,3,4,6,7}

執(zhí)行以下代碼后,ls的值是?ls=list('abcd')ls.append(ls.pop(1))

答案:['a',

'c','d','b']s='{:<5,.3f}'.format(1234.78569),s的值為?

答案:'1,234.786'下列有關(guān)字符串的說(shuō)法錯(cuò)誤的是?

答案:字符串以\n標(biāo)識(shí)字符串的結(jié)束以下有關(guān)變量的說(shuō)法錯(cuò)誤的是?

答案:變量無(wú)需先創(chuàng)建即可使用執(zhí)行下列語(yǔ)句,輸入“西南,財(cái)經(jīng),大學(xué)”,輸出結(jié)果為?a=input('').split(',')x=0whilex答案:西南財(cái)經(jīng)大學(xué)在執(zhí)行循環(huán)結(jié)構(gòu)foriinrange(8,-4,-1):

...時(shí),循環(huán)第7次時(shí),i的值為?

答案:2表達(dá)式{1,2,'3',4}-{3,4,5,6}的值為?

答案:{1,2,‘3’}t=tuple('西南財(cái)經(jīng)大學(xué)'),t[::-1]的結(jié)果是?

答案:('學(xué)','大','經(jīng)','財(cái)','南','西')執(zhí)行下列語(yǔ)句,程序的運(yùn)行結(jié)果是?ls=list('abcd')dells[1]ls.remove('b')print(ls)

答案:系統(tǒng)報(bào)錯(cuò)以下哪種數(shù)據(jù)類型的對(duì)象不能作為列表extend()方法的參數(shù)?

答案:整數(shù)以下哪個(gè)選項(xiàng)可以將[1,2,3]和[4,5,6]連接形成一個(gè)新列表[1,2,3,4,5,6]?

答案:[1,2,3]+[4,5,6]print('.'.join(['西','南','財(cái)','經(jīng)','大','學(xué)'])的輸出結(jié)果是?

答案:西.南.財(cái).經(jīng).大.學(xué)能返回序列s中索引從i到j(luò)(不包含j)、步長(zhǎng)為k的子序列的表達(dá)式是?

答案:s[i:j:k]IPO編程方法不包括以下哪個(gè)過(guò)程?

答案:PROGRAM下列哪個(gè)選項(xiàng)不符合變量命名規(guī)范?

答案:1_vars={1,2,3,4}執(zhí)行以下哪個(gè)操作不會(huì)報(bào)錯(cuò)?

答案:s.add(5)下列哪個(gè)操作符表示求兩個(gè)集合的交集的運(yùn)算?

答案:&d={'a':[10,20],'b':('1','2','3'),'c':{10,20}}則d['c'][1]的值是20

答案:錯(cuò)x={1:2,3:4,5:6},那么表達(dá)式sum(x)的值為9

答案:對(duì)現(xiàn)有一個(gè)字典d,d.pop(鍵)可以根據(jù)鍵彈出指定的鍵值對(duì),而d.popitem()則不能指定鍵,只能隨機(jī)彈出鍵值對(duì)

答案:對(duì)字典的鍵和值都可以是列表

答案:錯(cuò)d是一個(gè)字典對(duì)象,len(d)可以表示字典中“鍵”或“鍵值對(duì)"的個(gè)數(shù)

答案:對(duì)任何一個(gè)列表ls都可以通過(guò)dict(ls)轉(zhuǎn)化為字典

答案:錯(cuò)9(單選題)d=

{'a':1,'b':2,'c':3}下列語(yǔ)句錯(cuò)誤的是?

答案:d[1]d=

{'a':1,'b':2,'c':3}下列表達(dá)錯(cuò)誤的是?

答案:forxinrange(d):d={'a':1,'b':2,'c':3','d':4),d.get('a',0)和d.get('f',10)的值分別為:

答案:1,10d={'a':1,'b':2,'c':'3'},下面哪個(gè)選項(xiàng)是正確的?

答案:d.setdefault('d',0)的值為0,同時(shí)在字典中添加鍵值對(duì)'d':0給定字典d,哪個(gè)選項(xiàng)對(duì)xind的描述是正確的?????????????????????????????????????????????????????????????????????????????????????????????????

答案:判斷x是否是字典d中的鍵運(yùn)行下面的程序,輸出結(jié)果是?

d={'a':1,'b':2,'b':'3'}

print(len(d.items())

答案:2給定字典d,哪個(gè)選項(xiàng)可以獲得字典所有“鍵”:“值”對(duì)的“值”?????????????????????????????????????????????????????????????????????????????????????????????????

答案:d.values()以下描述錯(cuò)誤的是:

答案:{}表示一個(gè)空集合2.[其它]用戶輸入一串任意的文字,計(jì)算其中每個(gè)字符出現(xiàn)的頻數(shù)并按照頻數(shù)從高到低輸出。(字符及其頻數(shù)用字典保存,字符為鍵,頻數(shù)為值)

答案:思路1:1.獲取輸入2.創(chuàng)建空字典用于以后存放結(jié)果3.遍歷輸入的字符串:

累加該字符的頻數(shù):字典[字符]=字典中字符對(duì)應(yīng)的值(如果字典中沒(méi)有這個(gè)字符,則取值為0)+14.將字典的鍵值對(duì)轉(zhuǎn)化為列表,并按頻數(shù)排序5.

輸出s=input('請(qǐng)輸入任意內(nèi)容:')d={}

#頻數(shù)字典初始化forcins:

d[c]=d.get(c,0)+1

#字符對(duì)應(yīng)的頻數(shù)加1,第一次出現(xiàn)時(shí)為0加1ls=list(d.items())ls.sort(key=lambdax:x[-1],reverse=True)foreinls:

print(e[0],e[1])思路2:1.獲取輸入2.創(chuàng)建空字典用于以后存放結(jié)果3.遍歷輸入字符串中的不同字符(集合):

字典[字符]=該字符在輸入字符串中出現(xiàn)的次數(shù)4.將字典的鍵值對(duì)轉(zhuǎn)化為列表,并按頻數(shù)排序5.

輸出s=input('請(qǐng)輸入任意內(nèi)容:')d={}forcinset(s):

#將字符串s轉(zhuǎn)化為集合,過(guò)濾掉重復(fù)字符

d[c]=s.count(c)

#得到c對(duì)應(yīng)字符的個(gè)數(shù),并將字符及其個(gè)數(shù)作為鍵值對(duì)加入字典#上述3行也可以用字典推導(dǎo)式:d={c:s.count(c)forcinset(s)}ls=list(d.items())ls.sort(key=lambdax:x[-1],reverse=True)foreinls:

print(e[0],e[1])1.[其它]小明的日常支出項(xiàng)目包括:書、文具、餐飲等,請(qǐng)編程實(shí)現(xiàn):逐條輸入小明的消費(fèi)明細(xì)信息,一條消費(fèi)明細(xì)一次性輸入,包括消費(fèi)項(xiàng)目、金額、日期,各項(xiàng)之間用逗號(hào)隔開,如果直接回車則表示輸入結(jié)束。將消費(fèi)信息保存在列表中,一次消費(fèi)(包含三項(xiàng)的小列表)為一個(gè)元素。例如:請(qǐng)輸入消費(fèi)項(xiàng)目、金額、日期,中間用逗號(hào)隔開,直接回車結(jié)束輸入:書,30,2024-1-1請(qǐng)輸入消費(fèi)項(xiàng)目、金額、日期,中間用逗號(hào)隔開,直接回車結(jié)束輸入:文具,20,2024-1-4請(qǐng)輸入消費(fèi)項(xiàng)目、金額、日期,中間用逗號(hào)隔開,直接回車結(jié)束輸入:書,15,2024-2-4請(qǐng)輸入消費(fèi)項(xiàng)目、金額、日期,中間用逗號(hào)隔開,直接回車結(jié)束輸入:文具,10,2024-2-10請(qǐng)輸入消費(fèi)項(xiàng)目、金額、日期,中間用逗號(hào)隔開,直接回車結(jié)束輸入:餐飲,100,2024-3-4請(qǐng)輸入消費(fèi)項(xiàng)目、金額、日期,中間用逗號(hào)隔開,直接回車結(jié)束輸入:請(qǐng)分類統(tǒng)計(jì)小明每個(gè)消費(fèi)項(xiàng)目的消費(fèi)總額,并輸出消費(fèi)總額最高的項(xiàng)目及金額

答案:總體思路:一、輸入消費(fèi)明細(xì)并保存

1.列表初始化為空

2.循環(huán):輸入消費(fèi)信息并分隔,將項(xiàng)目、數(shù)值型的金額、日期形成小列表并加入1中的列表二、分類統(tǒng)計(jì)

1.結(jié)果用字典保存(消費(fèi)項(xiàng)目為鍵,總金額為值),初始化為空字典;

2.遍歷消費(fèi)列表:得到每次消費(fèi)的項(xiàng)目和金額,更新該項(xiàng)目在字典中的值三、按消費(fèi)金額對(duì)統(tǒng)計(jì)結(jié)果排序

1.將統(tǒng)計(jì)結(jié)果字典的鍵值對(duì)轉(zhuǎn)化為列表

2.對(duì)上述列表按照元素的最后一個(gè)子元素(消費(fèi)總金額)排序四、輸出消費(fèi)總額最高的項(xiàng)目及金額#輸入并保存在列表中l(wèi)s=[]whileTrue:

xfstr=input('請(qǐng)輸入消費(fèi)項(xiàng)目、金額、日期(年-月-日),中間用逗號(hào)隔開,直接回車結(jié)束輸入:')

iflen(xfstr)==0:

#直接回車,輸入字符串為空串

break

xls=xfstr.split(',')

xls[1]=

eval(xls[1])

#修改消費(fèi)金額為數(shù)值型的消費(fèi)金額

ls.append(xls)

#一次消費(fèi)信息作為元素加入列表#分類統(tǒng)計(jì)d={}foreinls:

#遍歷列表

xm=e[0]

#項(xiàng)目

je=e[1]

#金額

d[xm]=d.get(xm,0)+je

#對(duì)統(tǒng)計(jì)結(jié)果按總金額排序

d_ls=list(d.items())d_ls.sort(key=lambdax:x[-1],reverse=True)#輸出print('消費(fèi)金額最高的項(xiàng)目是:{},金額為:{}'.format(d_ls[0][0],d_ls[0][-1]))lambdax:x[-1]表示一個(gè)匿名函數(shù),形參為x,返回值為x[-1]

答案:對(duì)/star3/origin/881dd2c1b0cc2b55fa68a4c0e93146ca.png

答案:錯(cuò)表達(dá)式list(map(lambdax:x+5,[1,2,3]))的值為[6,7,8]

答案:對(duì)函數(shù)體中可以沒(méi)有return語(yǔ)句,相當(dāng)于returnNone

答案:對(duì)全局變量只能在函數(shù)外部定義

答案:錯(cuò)函數(shù)定義就會(huì)執(zhí)行函數(shù)體語(yǔ)句

答案:錯(cuò)函數(shù)中,return的作用是將結(jié)果返回到函數(shù)定義的位置。

答案:錯(cuò)下列有關(guān)函數(shù)的說(shuō)法正確的是?

答案:定義函數(shù)時(shí)并沒(méi)有執(zhí)行函數(shù)中的語(yǔ)句,調(diào)用函數(shù)時(shí)才執(zhí)行這些語(yǔ)句defchange(n2):

n=2

n

**=

n2+1

print(n,end=',')n=2change(n)print(n)執(zhí)行上述程序,輸出結(jié)果為?

答案:8,2下列代碼的輸出結(jié)果是?

X='swufe'

deffunc():

X='西南財(cái)經(jīng)大學(xué)'

print(X)

func()

print(X)

答案:西南財(cái)經(jīng)大學(xué)swufe下列代碼的輸出結(jié)果是?def

func(a,

b=4,

c=5):

print(a+b+c)

func(1,2)

答案:8global保留字的作用是?

答案:在函數(shù)內(nèi)部聲明全局變量匿名函數(shù)lambdax:x[-1]

,

在關(guān)鍵字lambda和冒號(hào)之間的是?

答案:形式參數(shù)定義函數(shù)使用的關(guān)鍵字是?

答案:def編寫一個(gè)函數(shù),形參為一個(gè)字符串,返回字符串中包含的數(shù)字個(gè)數(shù)、小寫字符個(gè)數(shù)、大寫字符個(gè)數(shù)連續(xù)輸入字符串,直接回車則結(jié)束輸入,調(diào)用函數(shù),輸出每個(gè)字符串及其中包含的數(shù)字個(gè)數(shù)、小寫字符個(gè)數(shù)、大寫字符個(gè)數(shù)

答案:defstr_gs(s):

intc,lowc,uppc=0,0,0

#數(shù)字個(gè)數(shù)、小寫字符個(gè)數(shù)、大寫字符個(gè)數(shù)初始化為0

forcins:

#遍歷字符串

ifc.isdigit():

#如果當(dāng)前字符是數(shù)字

intc+=1

elifc.islower():

#如果當(dāng)前字符是小寫字符

lowc+=1

elifc.isupper():

#如果當(dāng)前字符是大寫字符

uppc+=1

returnintc,lowc,uppc

#返回三個(gè)值#主程序whileTrue:

s=input('輸入字符串,直接回車結(jié)束輸入:')

iflen(s)==0:

#直接回車

break

intgs,lowergs,uppergs=str_gs(s)

#調(diào)用函數(shù)得到三個(gè)值分別賦值給三個(gè)變量

print('{}包含:{}個(gè)數(shù)字,{}個(gè)小寫字符,{}個(gè)大寫字符'.format(s,intgs,lowergs,uppergs))編寫函數(shù)判定一個(gè)正整數(shù)是否是完數(shù)(所有因子(不包括其自身)之和等于該數(shù)本身),通過(guò)調(diào)用函數(shù),輸出100以內(nèi)所有完數(shù)的累加和,并判定累加和的奇偶

答案:defws(n):

s=0

#n的因子和初始化

foriinrange(1,n):

ifn%i==0:

#i是n的因子

s+=i

#累加因子

ifs==n:

#循環(huán)結(jié)束后判斷因子累加和是否等于n

returnTrue

else:

returnFalse#主程序sumn=0

#完數(shù)累加和初始化為0forninrange(1,100):

ifws(n):

sumn+=nprint(sumn)ifsumn%2==0:

print('偶數(shù)')else:

print('奇數(shù)')定義一個(gè)函數(shù)計(jì)算一個(gè)正整數(shù)的階乘(不用遞歸函數(shù)),正整數(shù)n為形參,其階乘為返回值。用戶輸入一個(gè)正整數(shù)k,通過(guò)調(diào)用上述函數(shù),計(jì)算并輸出1!+2!+...+k!的值

答案:#定義階乘函數(shù)fact,n為形參deffact(n):

p=1

#階乘結(jié)果初始化為1

foriinrange(1,n+1):

p=p*i

return

p

#主程序

k=int(input('輸入一個(gè)正整數(shù)'))sumk=0

#累加和結(jié)果初始化為0foriinrange(1,k+1):

sumk+=fact(i)

print(sumk)一個(gè)異常處理語(yǔ)句中最多只能包含一個(gè)else子句、finally子句

答案:對(duì)一個(gè)異常處理語(yǔ)句中可以通過(guò)多個(gè)except子句處理多種不同類型的異常

答案:對(duì)編程時(shí)將可能發(fā)生異常的語(yǔ)句放在try:后,以便捕獲可能發(fā)生的異常

答案:對(duì)異常指的是程序的語(yǔ)法錯(cuò)誤

答案:錯(cuò)f=open('file.txt')表示以文本讀寫模式打開文件file.txt

答案:錯(cuò)打開的文件可以作為可迭代類型對(duì)象進(jìn)行遍歷

答案:對(duì)python中任何文件都可以選擇按文本方式或按二進(jìn)制方式讀取其內(nèi)容

答案:對(duì)打開文件使用函數(shù)open()

答案:對(duì)下列程序段執(zhí)行后,輸出結(jié)果是:number

=

20try:

if

1/number

<

0:

number

=

-number

print(number,end='

')except:

print("有異常發(fā)生",end='

')else:

print("平安無(wú)事",end='

')finally:

print("我很好我可以的",end='

')

答案:20平安無(wú)事我很好我可以的以下哪個(gè)不能表示文件的打開方式?

答案:'c'當(dāng)要打開的文件存在時(shí),下列哪種打開文件的方式會(huì)報(bào)錯(cuò)?

答案:x下面有關(guān)文件的表達(dá)正確的是:

答案:通過(guò)文件的.writelines()方法可以向文件中寫入元素為字符串的列表的內(nèi)容如果要將文件f的所有內(nèi)容讀入一個(gè)列表ls,每行形成列表的一個(gè)元素,則應(yīng)該使用哪個(gè)表達(dá)?

答案:ls=f.readlines()如果要對(duì)文件以文本方式進(jìn)行讀操作,在打開文件時(shí)應(yīng)該使用下列哪個(gè)選項(xiàng)?

答案:rtpython中下列有關(guān)文件操作的表述錯(cuò)誤的是:

答案:文本文件只能以文本方式進(jìn)行讀取編寫一個(gè)統(tǒng)計(jì)列表中每個(gè)元素出現(xiàn)頻數(shù)的函數(shù),形參為列表,返回值為保存統(tǒng)計(jì)結(jié)果的字典主程序:產(chǎn)生包含50個(gè)1-6范圍內(nèi)隨機(jī)整數(shù)的列表,通過(guò)調(diào)用上述函數(shù),統(tǒng)計(jì)該列表中各數(shù)出現(xiàn)的頻數(shù),輸出出現(xiàn)頻數(shù)最高的數(shù)及其頻數(shù)

答案:defget_ps(ls):

d={}

fore

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論