版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【MOOC】《Python語言程序設(shè)計(jì)》(東北大學(xué))中國大學(xué)慕課答案
有些題目順序不一致,下載后按鍵盤ctrl+F進(jìn)行搜索第一周:計(jì)算機(jī)和Python程序第1周單元作業(yè)1.顯示三個(gè)不同的消息題目?jī)?nèi)容:編寫程序顯示三條消息:“WelcometoPython”、“WelcometoComputerScience”和“Programmingisfun”。輸入格式:無輸出格式:無輸入樣例:無輸出樣例:WelcometoPythonWelcometoComputerScienceProgrammingisfun
答案:【print("WelcometoPython")
print("WelcometoComputerScience")
print("Programmingisfun")】單元測(cè)驗(yàn)一1.單選題:print("1",1)的輸出是()
選項(xiàng):
A、11
B、11
C、1,1
D、輸出錯(cuò)誤
答案:【11】2.單選題:計(jì)算機(jī)中信息處理和信息儲(chǔ)存用()
選項(xiàng):
A、二進(jìn)制代碼
B、十進(jìn)制代碼
C、十六進(jìn)制代碼
D、ASCII代碼
答案:【二進(jìn)制代碼】3.單選題:python源程序執(zhí)行的方式:()
選項(xiàng):
A、編譯執(zhí)行
B、包含了提前編譯的解釋執(zhí)行
C、直接執(zhí)行
D、邊編譯邊執(zhí)行
答案:【包含了提前編譯的解釋執(zhí)行】4.單選題:關(guān)于import引用,以下選項(xiàng)中描述錯(cuò)誤的是:()
選項(xiàng):
A、使用importturtle引入turtle庫
B、importturtle之后直接執(zhí)行showturtle()就可以顯示畫筆形狀
C、不引入turtle庫是無法使用庫中的函數(shù)的
D、import保留字用于導(dǎo)入模塊或者模塊中的對(duì)象
答案:【importturtle之后直接執(zhí)行showturtle()就可以顯示畫筆形狀】5.單選題:以下關(guān)于程序設(shè)計(jì)語言的描述,錯(cuò)誤的選項(xiàng)是:()
選項(xiàng):
A、Python語言是開源的
B、匯編語言是可以直接操作計(jì)算機(jī)硬件的編程語言
C、程序設(shè)計(jì)語言經(jīng)歷了機(jī)器語言、匯編語言和腳本語言三個(gè)階段
D、編譯和解釋的區(qū)別是一次性翻譯程序還是每次執(zhí)行時(shí)翻譯程序
答案:【程序設(shè)計(jì)語言經(jīng)歷了機(jī)器語言、匯編語言和腳本語言三個(gè)階段】第二周:Python程序基礎(chǔ)單元測(cè)驗(yàn)二1.單選題:以下哪個(gè)不是python中的關(guān)鍵字(保留字)()
選項(xiàng):
A、if
B、else
C、import
D、print
答案:【print】2.單選題:Python語言語句塊的標(biāo)記是()
選項(xiàng):
A、分號(hào)
B、逗號(hào)
C、縮進(jìn)
D、/
答案:【縮進(jìn)】3.單選題:下面哪個(gè)不是Python合法的標(biāo)識(shí)符()
選項(xiàng):
A、int32
B、40XL
C、self
D、__name__
答案:【40XL】4.單選題:下面代碼的輸出結(jié)果是()x=10y=3print(x%y,x**y)
選項(xiàng):
A、31000
B、130
C、330
D、11000
答案:【11000】5.單選題:下列哪個(gè)語句在Python中是非法的?
選項(xiàng):
A、x=y=z=1
B、x=(y=z+1)
C、x,y=y,x
D、x+=y
答案:【x=(y=z+1)】6.單選題:關(guān)于eval函數(shù),以下選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、eval函數(shù)的作用是將輸入的字符串轉(zhuǎn)為Python語句,并執(zhí)行該語句
B、如果用戶希望輸入一個(gè)數(shù)字,并用程序?qū)@個(gè)數(shù)字進(jìn)行計(jì)算,可以采用?eval(input(<輸入提示字符串>))?組合
C、執(zhí)行?eval("Hello")?和執(zhí)行?eval("?'Hello'?")?得到相同的結(jié)果
D、eval?函數(shù)的定義為:eval(source,?globals=None,?locals=None,?/)
答案:【執(zhí)行?eval("Hello")?和執(zhí)行?eval("?'Hello'?")?得到相同的結(jié)果】7.單選題:表達(dá)式?eval('500/10')?的結(jié)果是:()
選項(xiàng):
A、'500/10'
B、500/10
C、50
D、50.0
答案:【50.0】8.單選題:以下選項(xiàng)中符合Python語言變量命名規(guī)則的是()
選項(xiàng):
A、*i
B、3_1
C、AI!
D、Templist
答案:【Templist】9.單選題:關(guān)于賦值語句,以下選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、在Python語言中,有一種賦值語句,可以同時(shí)給多個(gè)變量賦值
B、設(shè)x="alice";y="kate",執(zhí)行x,y=y,x可以實(shí)現(xiàn)變量x和y值的互換
C、設(shè)a=10;b=20,執(zhí)行a,b=a,a+bprint(a,b)和a=bb=a+bprint(a,b)之后,得到同樣的輸出結(jié)果:1030
D、在Python語言中,“=”表示賦值,即將“=”右側(cè)的計(jì)算結(jié)果賦值給左側(cè)變量,包含“=”的語句稱為賦值語句
答案:【設(shè)a=10;b=20,執(zhí)行a,b=a,a+bprint(a,b)和a=bb=a+bprint(a,b)之后,得到同樣的輸出結(jié)果:1030】10.單選題:關(guān)于Python語言的注釋,以下選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、Python語言的單行注釋以#開頭
B、Python語言的單行注釋以單引號(hào)’開頭
C、Python語言的多行注釋可以用’’'(三個(gè)單引號(hào))開頭和結(jié)尾
D、Python語言有兩種注釋方式:?jiǎn)涡凶⑨尯投嘈凶⑨?/p>
答案:【Python語言的單行注釋以單引號(hào)’開頭】第2周單元作業(yè)1.投資額題目?jī)?nèi)容:假如你想將一筆錢以固定年利率存入賬戶。如果你希望三年之后賬戶中有5000元,你現(xiàn)在需要存入多少錢?使用下面的公式可以算出初始存款:編寫一個(gè)程序,分3行分別輸入最終金額值、百分比表示的年利率以及年數(shù),然后輸出最初存款額。輸入格式:最終金額值、百分比表示的年利率以及年數(shù),輸入下一項(xiàng)需換行輸出格式:最初存款額(注意:計(jì)算后保持原樣輸出,不要保留小數(shù)位數(shù))輸入樣例:10004.255輸出樣例:808.8639197424636
答案:【final_amount=float(input())
annual_interest_rate=float(input())/100
years=int(input())
monthly_interest_rate=annual_interest_rate/12
months=years*12
initial_deposit=final_amount/((1+monthly_interest_rate)**months)
print(initial_deposit)】2.分割數(shù)字題目?jī)?nèi)容:編寫一個(gè)程序,提示用戶輸入四位整數(shù)并以反向順序顯示。輸入格式:一個(gè)四位的整數(shù)輸出格式:四個(gè)一位整數(shù),在同一行輸出,空格分隔,結(jié)尾無空格輸入樣例:1234輸出樣例:4321
答案:【num=int(input())
digit1=num%10
digit2=(num//10)%10
digit3=(num//100)%10
digit4=num//1000
print(digit1,digit2,digit3,digit4)】第三周:數(shù)字與字符串第3周單元作業(yè)1.計(jì)算能量題目?jī)?nèi)容:編寫一個(gè)程序,計(jì)算將水從初始溫度加熱到最終溫度所需的能量。提示用戶輸入以千克計(jì)算的水量以及水的初始溫度和最終溫度。計(jì)算能量的公式是:Q=M*(finalTemperature-initialTemperature)*4184。M是按千克計(jì)的水量,溫度為攝氏溫度,熱量Q以焦耳計(jì)。輸入格式:以千克計(jì)算的水量以及水的初始溫度和最終溫度(攝氏溫度),輸入下一項(xiàng)需換行輸出格式:以焦耳計(jì)算的能量(小數(shù)點(diǎn)后保留一位)輸入樣例:55.53.510.5輸出樣例:1625484.0
答案:【M=float(input())
initialTemperature=float(input())
finalTemperature=float(input())
Q=M*(finalTemperature-initialTemperature)*4184
print("{:.1f}".format(Q))】2.找出ASCII碼的字符題目?jī)?nèi)容:編寫一個(gè)程序,接收一個(gè)ASCII碼值(一個(gè)0~127之間的整數(shù)),然后顯示它對(duì)應(yīng)的字符。輸入格式:一個(gè)0~127之間的整數(shù)輸出格式:一個(gè)字符輸入樣例:97輸出樣例:a
答案:【ascii_value=int(input())
print(chr(ascii_value))】單元測(cè)驗(yàn)三1.單選題:關(guān)于Python語言數(shù)值操作符,以下選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、x//y表示x與y之整數(shù)商,即不大于x與y之商的最大整數(shù)
B、x**y表示x的y次冪,其中,y必須是整數(shù)
C、x%y表示x與y之商的余數(shù),也稱為模運(yùn)算
D、x/y表示x與y之商
答案:【x**y表示x的y次冪,其中,y必須是整數(shù)】2.單選題:關(guān)于Python語言的變量,以下選項(xiàng)中說法正確的是()
選項(xiàng):
A、隨時(shí)聲明、隨時(shí)使用、隨時(shí)釋放
B、隨時(shí)命名、隨時(shí)賦值、隨時(shí)使用
C、隨時(shí)聲明、隨時(shí)賦值、隨時(shí)變換類型
D、隨時(shí)命名、隨時(shí)賦值、隨時(shí)變換類型
答案:【隨時(shí)命名、隨時(shí)賦值、隨時(shí)使用】3.單選題:下列哪個(gè)語句輸出浮點(diǎn)數(shù)類型變量x保留顯示2位小數(shù)的結(jié)果是錯(cuò)誤的:()
選項(xiàng):
A、print("{%.2f}".format(x))
B、print("%.2f"%x)
C、print("{:.2f}".format(x))?
D、print(format(x,".2f"))
答案:【print("{%.2f}".format(x))】4.單選題:下面代碼的輸出結(jié)果是()x=10y=3print(divmod(x,y))
選項(xiàng):
A、(1,3)
B、3,1
C、1,3
D、(3,1)
答案:【(3,1)】5.單選題:Python?語言中,以下表達(dá)式輸出結(jié)果為11的選項(xiàng)是:()
選項(xiàng):
A、print(eval("1+1"))?
B、print(eval("1"?+?"1"))?
C、print("1+1")
D、print("1","1")
答案:【print(eval("1"?+?"1"))?】6.單選題:下列哪個(gè)不是Python支持的數(shù)據(jù)類型()
選項(xiàng):
A、char
B、int
C、float
D、str
答案:【char】7.單選題:下面代碼的輸出結(jié)果是()x=12.34print(type(x))
選項(xiàng):
A.<plex.>
B.<.>
C.<class.float.>
D.<class.bool.>
答案:【<class.float.>】8.單選題:以下選項(xiàng)中,修改turtle畫筆顏色的函數(shù)是()
選項(xiàng):
A、seth()
B、colormode()
C、bk()
D、pencolor()
答案:【pencolor()】9.單選題:以下對(duì)數(shù)值運(yùn)算操作符描述錯(cuò)誤的選項(xiàng)是:()
選項(xiàng):
A、Python提供了9個(gè)基本的數(shù)值運(yùn)算操作符
B、Python數(shù)值運(yùn)算操作符也叫做內(nèi)置操作符
C、Python數(shù)值運(yùn)算操作符需要引用第三方庫math
D、Python二元數(shù)學(xué)操作符都有與之對(duì)應(yīng)的增強(qiáng)賦值操作符
答案:【Python數(shù)值運(yùn)算操作符需要引用第三方庫math】[vk-content]10.單選題:下面代碼的執(zhí)行后x值是()x=2x*=3+5**2
選項(xiàng):
A、15
B、56
C、8192
D、13
答案:【56】第四周:分支結(jié)構(gòu)第四周單元作業(yè)1.回文數(shù)題目?jī)?nèi)容:編寫程序提示用戶輸入一個(gè)三位整數(shù),然后決定它是否是一個(gè)回文數(shù)。如果一個(gè)數(shù)從左向右和從右向左讀取是一樣的,那么這個(gè)數(shù)是回文數(shù)。輸入格式:一個(gè)三位整數(shù)輸出格式:一個(gè)字符串(輸入三位整數(shù)是否為回文數(shù)),如下xxxisapalindrome或xxxisnotapalindrome輸入樣例:321輸出樣例:321isnotapalindrome
答案:【num=int(input())
#提取百位數(shù)字
hundreds=num//100
#提取個(gè)位數(shù)字
units=num%10
ifhundreds==units:
print(f"{num}isapalindrome")
else:
print(f"{num}isnotapalindrome")】2.解線性方程題目?jī)?nèi)容:你可以使用克萊姆法則解下面的線性方程2x2系統(tǒng):編寫程序,用戶輸入a、b、c、d、e和f,然后顯示x和y的結(jié)果。如果ad-bc為零,呈現(xiàn)“Theequationhasnosolution”。輸入格式:a、b、c、d、e和f的值(逗號(hào)分隔)輸出格式:x和y的值(空格分隔,小數(shù)點(diǎn)后保留1位)輸入樣例:1.0,2.0,2.0,4.0,4.0,5.0輸出樣例:Theequationhasnosolution
答案:【importmath
a,b,c,d,e,f=map(float,input().split(','))
denominator=a*d-b*c
ifdenominator==0:
print("Theequationhasnosolution")
else:
x=(e*d-b*f)/denominator
y=(a*f-e*c)/denominator
print("{:.1f}{:.1f}".format(x,y))】單元測(cè)驗(yàn)四1.單選題:以下語句執(zhí)行后a、b、c的值是:()a="watermelon"b="strawberry"c="cherry"ifa>b:c=aa=bb=c
選項(xiàng):
A、watermelonstrawberrycherry
B、watermeloncherrystrawberry
C、strawberrycherrywatermelon
D、strawberrywatermelonwatermelon
答案:【strawberrywatermelonwatermelon】2.單選題:以下關(guān)于Python的控制結(jié)構(gòu),正確的是:()
選項(xiàng):
A、每個(gè)if條件后要使用冒號(hào):
B、在Python中,有switch-case語句
C、Python中的break表示退出分支
D、elif可以單獨(dú)使用
答案:【每個(gè)if條件后要使用冒號(hào):】3.單選題:關(guān)于Python字符編碼,以下選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、chr(x)和ord(x)函數(shù)用于在單字符和Unicode編碼值之間進(jìn)行轉(zhuǎn)換
B、print(chr(65))輸出A
C、print(ord('a'))輸出97
D、Python字符編碼使用ASCII編碼
答案:【Python字符編碼使用ASCII編碼】4.單選題:關(guān)于Python的分支結(jié)構(gòu),以下選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、分支結(jié)構(gòu)使用if保留字
B、分支結(jié)構(gòu)可以向已經(jīng)執(zhí)行過的語句部分跳轉(zhuǎn)
C、Python中if-elif-else語句描述多分支結(jié)構(gòu)
D、Python中if-else語句用來形成二分支結(jié)構(gòu)
答案:【分支結(jié)構(gòu)可以向已經(jīng)執(zhí)行過的語句部分跳轉(zhuǎn)】5.單選題:以下程序的輸出結(jié)果是:()a=30b=1ifa>=10:a=20elifa>=20:a=30elifa>=30:b=aelse:b=0print('a={},b={}'.format(a,b))
選項(xiàng):
A、a=20,b=1
B、a=30,b=30
C、a=20,b=20
D、a=30,b=1
答案:【a=20,b=1】6.單選題:以下程序的輸出結(jié)果是:()t="Python"ift>="python":t="python"else:t="None"print(t)
選項(xiàng):
A、Python
B、python
C、None
D、t
答案:【None】7.單選題:以下關(guān)于程序控制結(jié)構(gòu)描述錯(cuò)誤的是:()
選項(xiàng):
A、分支結(jié)構(gòu)中有單分支結(jié)構(gòu)和雙分支結(jié)構(gòu)
B、Python里,能用分支結(jié)構(gòu)寫出循環(huán)的算法
C、分支是三種基本結(jié)構(gòu)的一種
D、多分支也可以由分支的嵌套實(shí)現(xiàn)
答案:【Python里,能用分支結(jié)構(gòu)寫出循環(huán)的算法】8.單選題:設(shè)x=10;y=20,下列語句能正確運(yùn)行結(jié)束的是:()
選項(xiàng):
A、max=x>y?x:y
B、if(x>y)print(x)
C、ifx>ymax=x
D、ifxelse:min=y
答案:【ifxelse:min=y】9.單選題:以下關(guān)于Python的控制結(jié)構(gòu),錯(cuò)誤的是:()
選項(xiàng):
A、elif可以單獨(dú)使用
B、在Python中,沒有switch-case語句
C、每個(gè)else后要使用冒號(hào)(:)
D、每個(gè)if條件后要使用冒號(hào)(:)
答案:【elif可以單獨(dú)使用】10.單選題:下列表達(dá)式的運(yùn)算結(jié)果是:()a=100b=Falsea*b>-1
選項(xiàng):
A、False
B、1
C、0
D、True
答案:【True】第五周:循環(huán)結(jié)構(gòu)單元測(cè)驗(yàn)五1.單選題:執(zhí)行如下代碼importturtleforiinrange(1,5):turtle.forward(50)turtle.left(90)在PythonTurtleGraphics中,繪制的是()
選項(xiàng):
A、五邊形
B、三角形
C、五角星
D、正方形
答案:【正方形】2.單選題:以下程序的輸出結(jié)果是:()x=10whilex:x-=1ifnotx%2:print(x,end='')
選項(xiàng):
A、86420
B、975311
C、97531
D、864200
答案:【86420】3.單選題:關(guān)于Python循環(huán)結(jié)構(gòu),以下選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、遍歷循環(huán)中的遍歷結(jié)構(gòu)可以是字符串、range()函數(shù)等
B、break用來跳出for或者while循環(huán),脫離該循環(huán)后程序從循環(huán)代碼后繼續(xù)執(zhí)行
C、每個(gè)continue語句有能力跳出當(dāng)前層次的循環(huán)
D、Python通過for、while等保留字提供遍歷循環(huán)和無限循環(huán)結(jié)構(gòu)
答案:【每個(gè)continue語句有能力跳出當(dāng)前層次的循環(huán)】4.單選題:下面代碼的輸出結(jié)果是()forsin"HelloWorld":ifs=="W":continueprint(s,end="")
選項(xiàng):
A、Hello
B、World
C、HelloWorld
D、Helloorld
答案:【Helloorld】5.單選題:以下關(guān)于random庫的描述,正確的是:()
選項(xiàng):
A、設(shè)定相同種子,每次調(diào)用隨機(jī)函數(shù)生成的隨機(jī)數(shù)不相同
B、通過fromrandomimport*引入random隨機(jī)庫的部分函數(shù)
C、uniform(0,1)與uniform(0.0,1.0)的輸出結(jié)果不同,前者輸出隨機(jī)整數(shù),后者輸出隨機(jī)小數(shù)
D、randint(a,b)是生成一個(gè)[a,b]之間的整數(shù)
答案:【randint(a,b)是生成一個(gè)[a,b]之間的整數(shù)】6.單選題:以下程序的輸出結(jié)果是:()fornuminrange(1,4):sum*=numprint(sum)
選項(xiàng):
A、6
B、7
C、7.0
D、TypeError出錯(cuò)
答案:【TypeError出錯(cuò)】7.單選題:下面代碼的輸出結(jié)果是()foriinrange(10):ifi%2==0:continueelse:print(i,end=",")
選項(xiàng):
A、2,4,6,8,
B、0,2,4,6,8,
C、0,2,4,6,8,10,
D、1,3,5,7,9,
答案:【1,3,5,7,9,】8.單選題:以下關(guān)于循環(huán)結(jié)構(gòu)的描述,錯(cuò)誤的是:()
選項(xiàng):
A、遍歷循環(huán)使用for<循環(huán)變量>in<循環(huán)結(jié)構(gòu)>語句,其中循環(huán)結(jié)構(gòu)不能是字符串
B、使用range()函數(shù)可以指定for循環(huán)的次數(shù)
C、foriinrange(5)表示循環(huán)5次,i的值是從0到4
D、用字符串做循環(huán)結(jié)構(gòu)的時(shí)候,循環(huán)的次數(shù)是字符串的長(zhǎng)度
答案:【遍歷循環(huán)使用for<循環(huán)變量>in<循環(huán)結(jié)構(gòu)>語句,其中循環(huán)結(jié)構(gòu)不能是字符串】9.單選題:下面代碼的輸出結(jié)果是()forsin"abc":foriinrange(3):print(s,end="")ifs=="c":break
選項(xiàng):
A、aaabccc
B、aaabbbc
C、abbbccc
D、aaabbbccc
答案:【aaabbbc】10.單選題:下面代碼的輸出結(jié)果是()sum=1.0fornuminrange(1,4):sum+=numprint(sum)
選項(xiàng):
A、6
B、7.0
C、1.0
D、7
答案:【7.0】第五周單元作業(yè)1.數(shù)列求和題目?jī)?nèi)容:編寫程序求解Sn=a+aa+aaa+aaaa+...,其中a是1~9之間的一個(gè)數(shù)字,n為一正整數(shù),a和n均從鍵盤輸入。例如:輸入a為2,n為5,Sn=2+22+222+2222+22222(此時(shí)共有5個(gè)數(shù)相加)。輸入格式:a和n的值(逗號(hào)分隔)輸出格式:數(shù)列求和的結(jié)果輸入樣例:2,5輸出樣例:24690
答案:【a_str,n_str=input().split(',')
a=int(a_str)
n=int(n_str)
total=0
term=0
foriinrange(1,n+1):
term=term*10+a
total+=term
print(total)】2.找出一個(gè)整數(shù)的所有因子題目?jī)?nèi)容:編寫程序讀取一個(gè)整數(shù),然后按順序顯示它所有的最小因子,也稱之為素因子。例如:如果輸入整數(shù)120,那么輸出應(yīng)該如下所示:2,2,2,3,5。輸入格式:一個(gè)整數(shù)輸出格式:所有的最小因子(逗號(hào)分隔)輸入樣例:120輸出樣例:2,2,2,3,5
答案:【defprime_factors(n):
i=2
factors=[]
whilei*i<=n:
ifn%i:
i+=1
else:
n//=i
factors.append(i)
ifn>1:
factors.append(n)
returnfactors
num=int(input())
result=prime_factors(num)
print(','.join(str(factor)forfactorinresult))】第六周:函數(shù)單元測(cè)驗(yàn)六1.單選題:以下程序的輸出結(jié)果是:()>>>deff(x,y=0,z=0):pass>>>f(1,,3)
選項(xiàng):
A、pass
B、None
C、not
D、出錯(cuò)
答案:【出錯(cuò)】2.單選題:以下關(guān)于函數(shù)選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、函數(shù)能完成特定的功能,對(duì)函數(shù)的使用不需要了解函數(shù)內(nèi)部實(shí)現(xiàn)原理,只要了解函數(shù)的輸入輸出方式即可。
B、使用函數(shù)的主要目的是減低編程難度和代碼重用。
C、Python使用del保留字定義一個(gè)函數(shù)。
D、函數(shù)是一段具有特定功能的、可重用的語句組。
答案:【Python使用del保留字定義一個(gè)函數(shù)。】3.單選題:以下程序的輸出結(jié)果是:()defcalu(x=3,y=2,z=10):return(x**y*z)h=2w=3print(calu(h,w))
選項(xiàng):
A、90
B、70
C、60
D、80
答案:【80】4.單選題:以下關(guān)于函數(shù)參數(shù)和返回值的描述,正確的是:()
選項(xiàng):
A、采用名稱傳參的時(shí)候,實(shí)參的順序需要和形參的順序一致
B、默認(rèn)參數(shù)傳遞指的是沒有傳入對(duì)應(yīng)參數(shù)值的時(shí)候,就不使用該參數(shù)
C、函數(shù)能同時(shí)返回多個(gè)參數(shù)值,需要形成一個(gè)列表來返回
D、Python支持按照位置傳參也支持名稱傳參,但不支持地址傳參
答案:【Python支持按照位置傳參也支持名稱傳參,但不支持地址傳參】5.單選題:以下程序的輸出結(jié)果是:()ab=4defmyab(ab,xy):ab=pow(ab,xy)print(ab,end="")myab(ab,2)print(ab)
選項(xiàng):
A、44
B、1616
C、416
D、164
答案:【164】6.單選題:以下關(guān)于python內(nèi)置函數(shù)的描述,錯(cuò)誤的是:()
選項(xiàng):
A、id()返回一個(gè)數(shù)據(jù)的一個(gè)編號(hào),跟其在內(nèi)存中的地址無關(guān)
B、type()返回一個(gè)數(shù)據(jù)對(duì)應(yīng)的類型
C、int()能把整數(shù)數(shù)字字符串轉(zhuǎn)換成整數(shù)
D、max()可以返回眾多參數(shù)中的最大值
答案:【id()返回一個(gè)數(shù)據(jù)的一個(gè)編號(hào),跟其在內(nèi)存中的地址無關(guān)】7.單選題:以下程序的輸出結(jié)果是:()deffunc(num):num*=2x=20func(x)print(x)
選項(xiàng):
A、40
B、出錯(cuò)
C、無輸出
D、20
答案:【20】8.單選題:Python中,函數(shù)定義可以不包括以下:()
選項(xiàng):
A、函數(shù)名
B、可選參數(shù)列表
C、關(guān)鍵字def
D、一對(duì)圓括號(hào)
答案:【可選參數(shù)列表】9.單選題:Python中函數(shù)不包括()
選項(xiàng):
A、標(biāo)準(zhǔn)庫函數(shù)
B、第三方庫函數(shù)
C、參數(shù)函數(shù)
D、內(nèi)建函數(shù)
答案:【參數(shù)函數(shù)】10.單選題:以下關(guān)于Python函數(shù)對(duì)變量的作用,錯(cuò)誤的是:()
選項(xiàng):
A、簡(jiǎn)單數(shù)據(jù)類型在函數(shù)內(nèi)部用global保留字聲明后,函數(shù)退出后該變量保留
B、全局變量指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效
C、簡(jiǎn)單數(shù)據(jù)類型變量?jī)H在函數(shù)內(nèi)部創(chuàng)建和使用,函數(shù)退出后變量被釋放
D、函數(shù)里不允許有和函數(shù)外同名的變量
答案:【函數(shù)里不允許有和函數(shù)外同名的變量】第六周單元作業(yè)1.反素?cái)?shù)題目?jī)?nèi)容:反素?cái)?shù)(逆向拼寫的素?cái)?shù))是指一個(gè)將其逆向拼寫后也是一個(gè)素?cái)?shù)的非回文數(shù)。例如:17和71都是素?cái)?shù),所以,17和71都是反素?cái)?shù)。編寫程序,輸入一個(gè)正整數(shù),顯示大于該數(shù)的前10個(gè)反素?cái)?shù)。輸入格式:一個(gè)正整數(shù)輸出格式:顯示前10個(gè)反素?cái)?shù),在同一行輸出,空格分隔,結(jié)尾無空格。輸入樣例:12輸出樣例:1317313771737997107113
答案:【defis_prime(n):
"""
判斷一個(gè)數(shù)是否為素?cái)?shù)
"""
ifn<=1:
returnFalse
ifn<=3:
returnTrue
ifn%2==0orn%3==0:
returnFalse
i=5
whilei*i<=n:
ifn%i==0orn%(i+2)==0:
returnFalse
i+=6
returnTrue
defis_palindrome(n):
"""
判斷一個(gè)數(shù)是否為回文數(shù)
"""
num_str=str(n)
returnnum_str==num_str[::-1]
defreverse_num(n):
"""
反轉(zhuǎn)一個(gè)數(shù)
"""
num_str=str(n)
reversed_str=num_str[::-1]
returnint(reversed_str)
defmain():
"""
主函數(shù),用于處理輸入和輸出
"""
num=int(input())#獲取用戶輸入的正整數(shù)
count=0#用于計(jì)數(shù)找到的反素?cái)?shù)的個(gè)數(shù)
result=[]#存儲(chǔ)找到的反素?cái)?shù)
whilecount<10:
num+=1
reversed_num=reverse_num(num)
ifis_prime(num)andis_prime(reversed_num)andnotis_palindrome(num):
result.append(num)
count+=1
print("".join(str(x)forxinresult))
if__name__=="__main__":
main()
】2.求一個(gè)整數(shù)各個(gè)數(shù)字之和題目?jī)?nèi)容:編寫一個(gè)函數(shù),計(jì)算一個(gè)整數(shù)各個(gè)數(shù)字的和。使用下面的函數(shù)頭:defsumDigits(n):例如:sumDigits(234)返回9(2+3+4)。提示:使用求余運(yùn)算符%提取數(shù)字,而使用除號(hào)//去掉提取出來的數(shù)字。使用一個(gè)循環(huán)來反復(fù)提取和去掉每個(gè)數(shù)字,直到所有數(shù)字被提取完為止。編寫程序提示用戶輸入一個(gè)整數(shù),然后顯示這個(gè)整數(shù)所有數(shù)字的和。輸入格式:一個(gè)正整數(shù)輸出格式:這個(gè)正整數(shù)所有數(shù)字之和輸入樣例:123輸出樣例:6
答案:【defsumDigits(n):
"""
此函數(shù)用于計(jì)算一個(gè)整數(shù)n各個(gè)數(shù)字的和
:paramn:輸入的整數(shù)
:return:整數(shù)各個(gè)數(shù)字的和
"""
total=0
whilen>0:
total+=n%10#取n的最后一位數(shù)字并累加到total中
n=n//10#去掉n的最后一位數(shù)字
returntotal
defmain():
"""
主函數(shù),處理輸入和輸出
"""
num=int(input())#獲取用戶輸入的正整數(shù)
print(sumDigits(num))#調(diào)用sumDigits函數(shù)并輸出結(jié)果
if__name__=="__main__":
main()
】第七周:列表和元組第七周單元作業(yè)1.合并兩個(gè)有序列表題目?jī)?nèi)容:編寫下面的函數(shù)合并兩個(gè)有序列表構(gòu)成一個(gè)新的有序列表:defmerge(list1,list2):編寫測(cè)試程序提示用戶輸入兩個(gè)有序列表,然后顯式合并后的有序列表。要求:不允許使用系統(tǒng)提供的sort方法。輸入格式:兩個(gè)有序列表(列表元素之間空格分隔,結(jié)尾無空格,回車換行輸入下一個(gè)有序列表)提示:從鍵盤以字符串形式讀取一行數(shù)值,以空格分割字符串成列表,轉(zhuǎn)換列表元素為數(shù)值。輸出格式:合并后的有序列表(列表格式)輸入樣例:1516611112456輸出樣例:[1,2,4,5,5,6,16,61,111]
答案:【defmerge(list1,list2):
"""
合并兩個(gè)有序列表為一個(gè)新的有序列表
:paramlist1:第一個(gè)有序列表
:paramlist2:第二個(gè)有序列表
:return:合并后的有序列表
"""
result=[]
i=0#列表1的指針
j=0#列表2的指針
whilei<len(list1)andj<len(list2):
iflist1[i]<list2[j]:
result.append(list1[i])
i+=1
else:
result.append(list2[j])
j+=1
#將剩余元素添加到結(jié)果列表中
whilei<len(list1):
result.append(list1[i])
i+=1
whilej<len(list2):
result.append(list2[j])
j+=1
returnresult
defmain():
"""
主函數(shù),處理輸入和輸出
"""
defparse_input():
"""
解析輸入,將輸入的字符串轉(zhuǎn)換為有序列表
"""
sequence=input().split()#將輸入的字符串按空格分割
sequence=[int(num)fornuminsequence]#將元素轉(zhuǎn)換為整數(shù)
returnsequence
list1=parse_input()#獲取第一個(gè)有序列表
list2=parse_input()#獲取第二個(gè)有序列表
merged_list=merge(list1,list2)#合并兩個(gè)有序列表
print(merged_list)
if__name__=="__main__":
main()】2.刪除字符串中連續(xù)的重復(fù)字符題目?jī)?nèi)容:通過鍵盤輸入一串小寫字母(a~z)組成的字符串,編寫一個(gè)測(cè)試程序,將字符串中連續(xù)出現(xiàn)的重復(fù)字符刪去(即在一個(gè)字符串中,如果遇到連續(xù)重復(fù)的字符只出現(xiàn)一次),然后輸出處理后的字符串。例如:str1="aabbccddaabbccdd",輸出結(jié)果為:"abcdabcd"。輸入格式:一個(gè)字符串輸出格式:刪除連續(xù)的重復(fù)字符后得到的新字符串輸入樣例:aabcccccaaa輸出樣例:abca
答案:【defmain():
str_input=input()#獲取用戶輸入的字符串
result=""
iflen(str_input)==0:#處理輸入字符串為空的情況
print(result)
return
result+=str_input[0]#先添加第一個(gè)字符
foriinrange(1,len(str_input)):
ifstr_input[i]!=str_input[i-1]:#比較當(dāng)前字符和前一個(gè)字符
result+=str_input[i]#不重復(fù)則添加
print(result)
if__name__=="__main__":
main()
】單元測(cè)驗(yàn)七1.單選題:以下關(guān)于列表操作的描述,錯(cuò)誤的是:()
選項(xiàng):
A、通過append方法可以向列表添加元素
B、通過extend方法可以將另一個(gè)列表中的元素逐一添加到列表中
C、通過insert(index,object)方法在指定位置index前插入元素object
D、通過add方法可以向列表添加元素
答案:【通過add方法可以向列表添加元素】2.單選題:運(yùn)行以下程序,輸出結(jié)果的是:str1="DongbeiUniversity"str2=str1[:7]+"Normal"+str1[-10:]print(str2)
選項(xiàng):
A、NormalU
B、DongbeiNormal
C、NormalUniversity
D、DongbeiNormalUniversity
答案:【DongbeiNormalUniversity】3.單選題:以下程序的輸出結(jié)果是:()lcat=["獅子","獵豹","虎貓","花豹","孟加拉虎","美洲豹","雪豹"]forsinlcat:if"豹"ins:print(s,end="")continue
選項(xiàng):
A、獵豹花豹美洲豹雪豹
B、獵豹
C、雪豹
D、獵豹花豹美洲豹雪豹
答案:【獵豹花豹美洲豹雪豹】4.單選題:以下程序的輸出結(jié)果是:()ls=["浣熊","豪豬","艾草松雞","棉尾兔","叉角羚"]x="豪豬"print(ls.index(x,0))
選項(xiàng):
A、0
B、-4
C、-3
D、1
答案:【1】5.單選題:以下關(guān)于列表和字符串的描述,錯(cuò)誤的是:()
選項(xiàng):
A、列表使用正向遞增序號(hào)和反向遞減序號(hào)的索引體系
B、列表是一個(gè)可以修改數(shù)據(jù)項(xiàng)的序列類型
C、字符和列表均支持成員關(guān)系操作符(in)和長(zhǎng)度計(jì)算函數(shù)(len())
D、字符串是單一字符的無序組合
答案:【字符串是單一字符的無序組合】6.單選題:下面代碼的輸出結(jié)果是()vlist=list(range(5))print(vlist)
選項(xiàng):
A、01234
B、0,1,2,3,4,
C、0;1;2;3;4;
D、[0,1,2,3,4]
答案:【[0,1,2,3,4]】7.單選題:給出如下代碼:TempStr="HelloWorld"以下選項(xiàng)中可以輸出“World”子串的是()
選項(xiàng):
A、print(TempStr[–5:–1])
B、print(TempStr[–5:0])
C、print(TempStr[–4:–1])
D、print(TempStr[–5:])
答案:【print(TempStr[–5:])】8.單選題:給出如下代碼importrandomasranlistV=[]ran.seed(100)foriinrange(10):i=ran.randint(100,999)listV.append(i)以下選項(xiàng)中能輸出隨機(jī)列表元素最大值的是()
選項(xiàng):
A、print(listV.max())
B、print(listV.pop(i))
C、print(max(listV))
D、print(listV.reverse(i))
答案:【print(max(listV))】9.單選題:下面代碼的輸出結(jié)果是()listV=list(range(5))print(2inlistV)
選項(xiàng):
A、False
B、0
C、-1
D、True
答案:【True】10.單選題:對(duì)于列表ls的操作,以下選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、ls.clear():刪除ls的最后一個(gè)元素
B、ls.copy():生成一個(gè)新列表,復(fù)制ls的所有元素
C、ls.reverse():列表ls的所有元素反轉(zhuǎn)
D、ls.append(x):在ls最后增加一個(gè)元素
答案:【ls.clear():刪除ls的最后一個(gè)元素】第八周:文件和異常單元測(cè)驗(yàn)八1.單選題:運(yùn)行以下程序:try:num=eval(input("請(qǐng)輸入一個(gè)列表:"))num.reverse()print(num)except:print("輸入的不是列表")從鍵盤上輸入1,2,3,則輸出的結(jié)果是:()
選項(xiàng):
A、[1,2,3]
B、[3,2,1]
C、運(yùn)算錯(cuò)誤
D、輸入的不是列表
答案:【輸入的不是列表】2.單選題:關(guān)于Python對(duì)文件的處理,以下選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、Python通過解釋器內(nèi)置的open()函數(shù)打開一個(gè)文件
B、當(dāng)文件以文本方式打開時(shí),讀寫按照字節(jié)流方式
C、文件使用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán)
D、Python能夠以文本和二進(jìn)制兩種方式處理文件
答案:【當(dāng)文件以文本方式打開時(shí),讀寫按照字節(jié)流方式】3.單選題:關(guān)于程序的異常處理,以下選項(xiàng)中描述錯(cuò)誤的是()
選項(xiàng):
A、程序異常發(fā)生經(jīng)過妥善處理可以繼續(xù)執(zhí)行
B、異常語句可以與else和finally保留字配合使用
C、編程語言中的異常和錯(cuò)誤是完全相同的概念
D、Python通過try、except等保留字提供異常處理功能
答案:【編程語言中的異常和錯(cuò)誤是完全相同的概念】4.單選題:執(zhí)行以下程序,輸入la,輸出結(jié)果是:()la='python'try:s=eval(input('請(qǐng)輸入整數(shù):'))ls=s*2print(ls)except:print('請(qǐng)輸入整數(shù)')
選項(xiàng):
A、la
B、請(qǐng)輸入整數(shù)
C、pythonpython
D、python
答案:【pythonpython】5.單選題:以下程序的輸出結(jié)果是:()fo=open("text.txt",'w+')x,y='thisisatest','hello'fo.write('{}+{}\n'.format(x,y))print(fo.read())fo.close()
選項(xiàng):
A、thisisatesthello
B、thisisatest
C、thisisatest,hello.
D、thisisatest+hello
答案:【thisisatest+hello】6.單選題:用戶輸入整數(shù)的時(shí)候不合規(guī)導(dǎo)致程序出錯(cuò),為了不讓程序異常中斷,需要用到的語句是:()
選項(xiàng):
A、if語句
B、eval語句
C、循環(huán)語句
D、try-except語句
答案:【try-except語句】7.單選題:以下關(guān)于Python文件的描述,錯(cuò)誤的是:()
選項(xiàng):
A、open函數(shù)的參數(shù)處理模式'b’表示以二進(jìn)制數(shù)據(jù)處理文件
B、open函數(shù)的參數(shù)處理模式'w'表示可以對(duì)文件進(jìn)行寫操作
C、readline函數(shù)表示讀取文件的下一行,返回一個(gè)字符串
D、open函數(shù)的參數(shù)處理模式'r'表示追加方式打開文件,刪除已有內(nèi)容
答案:【open函數(shù)的參數(shù)處理模式'r'表示追加方式打開文件,刪除已有內(nèi)容】8.單選題:Python文件只讀打開模式是()
選項(xiàng):
A、w
B、x
C、b
D、r
答案:【r】9.單選題:以下關(guān)于文件的描述錯(cuò)誤的選項(xiàng)是:()
選項(xiàng):
A、readlines()函數(shù)讀入文件內(nèi)容后返回一個(gè)列表,元素劃分依據(jù)是文本文件中的換行符
B、read()一次性讀入文本文件的全部?jī)?nèi)容后,返回一個(gè)字符串
C、readline()函數(shù)讀入文本文件的一行,返回一個(gè)字符串
D、二進(jìn)制文件和文本文件都是可以用文本編輯器編輯的文件
答案:【二進(jìn)制文件和文本文件都是可以用文本編輯器編輯的文件】10.單選題:以下程序的輸出結(jié)果是:()s=''try:foriinrange(1,10,2):s.append(i)except:print('error')print(s)
選項(xiàng):
A、13579
B、[1,3,5,7,9]
C、2,4,6,8,10
D、error
答案:【error】第八周單元作業(yè)1.處理輸入錯(cuò)誤題目?jī)?nèi)容:要求用戶從鍵盤輸入一系列數(shù)據(jù),預(yù)期是包含整型數(shù)值的。第一次輸入的是數(shù)值總數(shù)量,如果數(shù)據(jù)項(xiàng)比預(yù)期的多或者少,拋出一個(gè)包含合適信息的RuntimeError異常;如果數(shù)據(jù)不是整型數(shù)值,拋出valueError異常。輸入格式:一系列數(shù)據(jù),第一個(gè)數(shù)據(jù)表示數(shù)值總數(shù)量,回車換行輸入下一個(gè)數(shù)據(jù),直接回車換行表示輸入結(jié)束。輸出格式:輸入正確時(shí)輸出數(shù)據(jù)求和結(jié)果,例如:"Thesumis6."數(shù)據(jù)項(xiàng)比預(yù)期的多或者少,輸出"Error:dataquatityinvalid."數(shù)據(jù)不是整型數(shù)值,輸出"Error:inputcontentsinvalid."輸入樣例:31234輸出樣例:Error:dataquatityinvalid.
答案:【defmain():
try:
num_count=int(input())#獲取用戶輸入的數(shù)據(jù)項(xiàng)數(shù)量
input_data=[]
whileTrue:
data=input()
ifdata=="":
break
input_data.append(int(data))#將輸入的數(shù)據(jù)轉(zhuǎn)換為整數(shù)添加到列表中
iflen(input_data)!=num_count:#檢查輸入的數(shù)據(jù)項(xiàng)數(shù)量是否與預(yù)期相符
raiseRuntimeError("Error:dataquatityinvalid.")
total=sum(input_data)#計(jì)算輸入數(shù)據(jù)的總和
print(f"Thesumis{total}.")
exceptValueError:
print("Error:inputcontentsinvalid.")
exceptRuntimeErrorase:
print(e)
if__name__=="__main__":
main()
】第九周:集合與字典單元測(cè)驗(yàn)九1.單選題:下面代碼的輸出結(jié)果是()d={"大海":"藍(lán)色","天空":"灰色","大地":"黑色"}print(d["大地"],d.get("大地","黃色"))
選項(xiàng):
A、黑的灰色
B、黑色黑色
C、黑色藍(lán)色
D、黑色黃色
答案:【黑色黑色】2.單選題:以下表達(dá)式,正確定義了一個(gè)集合數(shù)據(jù)對(duì)象的是:()
選項(xiàng):
A、x={200,’flg’,20.3}
B、x=(200,’flg’,20.3)
C、x=[200,’flg’,20.3]
D、x={‘flg’:20.3}
答案:【x={200,’flg’,20.3}】3.單選題:字典d={'Name':'Kate','No':'1001','Age':'20'},表達(dá)式len(d)的值為()
選項(xiàng):
A、12
B、9
C、6
D、3
答案:【3】4.單選題:給出如下代碼MonthandFlower={"1月":"梅花","2月":"杏花","3月":"桃花","4月":"牡丹花",\"5月":"石榴花","6月":"蓮花","7月":"玉簪花","8月":"桂花",\"9月":"菊花","10月":"芙蓉花","11月":"山茶花","12月":"水仙花"}n=input("請(qǐng)輸入1-12的月份:")print(n+"月份之代表花:"+MonthandFlower.get(str(n)+"月"))以下選項(xiàng)中描述正確的是()
選項(xiàng):
A、代碼實(shí)現(xiàn)了獲取一個(gè)整數(shù)(1-12)來表示月份,輸出該月份對(duì)應(yīng)的代表花名
B、MonthandFlower是列表類型變量
C、MonthandFlower是一個(gè)元組
D、MonthandFlower是集合類型變量
答案:【代碼實(shí)現(xiàn)了獲取一個(gè)整數(shù)(1-12)來表示月份,輸出該月份對(duì)應(yīng)的代表花名】5.單選題:以下關(guān)于字典類型的描述,正確的是:()
選項(xiàng):
A、字典類型可迭代,即字典的值還可以是字典類型的對(duì)象
B、表達(dá)式forxind:中,假設(shè)d是字典,則x是字典中的鍵值對(duì)
C、字典類型的鍵可以是列表和其他數(shù)據(jù)類型
D、字典類型的值可以是任意數(shù)據(jù)類型的對(duì)象
答案:【字典類型的值可以是任意數(shù)據(jù)類型的對(duì)象】6.單選題:以下描述錯(cuò)誤的是:()
選項(xiàng):
A、集合類型是一種具體的數(shù)據(jù)類型
B、序列類型和映射類型都是一類數(shù)據(jù)類型的總稱
C、python的集合類型跟數(shù)學(xué)中的集合概念一致,都是多個(gè)數(shù)據(jù)項(xiàng)的無序組合
D、字典類型的鍵可以用的數(shù)據(jù)類型包括字符串,元組,以及列表
答案:【字典類型的鍵可以用的數(shù)據(jù)類型包括字符串,元組,以及列表】7.單選題:以下程序的輸出結(jié)果是:()dict={'Name':'baby','Age':7}print(dict.items())
選項(xiàng):
A、[('Age',7),('Name','baby')]
B、('Age',7),('Name','baby')
C、'Age':7,'Name':'baby'
D、dict_items([('Age',7),('Name','baby')])
答案:【dict_items([('Age',7),('Name','baby')])】8.單選題:以下關(guān)于字典類型的描述,錯(cuò)誤的是:()
選項(xiàng):
A、字典類型是一種無序的對(duì)象集合,通過鍵來存取
B、字典類型可以在原來的變量上增加或縮短
C、字典類型可以包含列表和其他數(shù)據(jù)類型,支持嵌套的字典
D、字典類型中的數(shù)據(jù)可以進(jìn)行分片和合并操作
答案:【字典類型中的數(shù)據(jù)可以進(jìn)行分片和合并操作】9.單選題:以下關(guān)于字典操作的描述,錯(cuò)誤的是:()
選項(xiàng):
A、del用于刪除字典或者元素
B、clear用于清空字典中的數(shù)據(jù)
C、len方法可以計(jì)算字典中鍵值對(duì)的個(gè)數(shù)
D、keys方法可以獲取字典的值視圖
答案:【keys方法可以獲取字典的值視圖】10.單選題:以下關(guān)于字典的描述,錯(cuò)誤的是:()
選項(xiàng):
A、字典中元素以鍵信息為索引訪問
B、字典長(zhǎng)度是可變的
C、字典是鍵值對(duì)的集合
D、字典中的鍵可以對(duì)應(yīng)多個(gè)值信息
答案:【字典中的鍵可以對(duì)應(yīng)多個(gè)值信息】第九周單元作業(yè)1.稀疏矩陣存儲(chǔ)題目?jī)?nèi)容:稀疏矩陣是一系列數(shù)字,其中大部分項(xiàng)是0。存儲(chǔ)稀疏矩陣的一個(gè)高效方式是字典,其中鍵是非0值的位置,值是序列中該位置對(duì)應(yīng)的值。例如,序列0000040029可以表示為字典{5:4,8:2,9:9}。編寫函數(shù)sparseArraySum,參數(shù)是兩個(gè)這樣的字典a和b,得到一個(gè)表示向量和的稀疏矩陣。也就是說,結(jié)果中位置i的值是a和b中位置i上值的和。假設(shè)稀疏矩陣數(shù)字序列長(zhǎng)度為10。輸入格式:兩個(gè)表示稀疏矩陣的數(shù)字序列,數(shù)字之間空格分隔,結(jié)尾無空格,回車換行輸入下一個(gè)數(shù)字序列輸出格式:一個(gè)表示稀疏矩陣求和結(jié)果的數(shù)字序列,數(shù)字之間空格分隔,結(jié)尾無空格輸入樣例:10300400266000120003輸出樣例:7030160029
答案:【defsparseArraySum(a,b):
"""
此函數(shù)用于計(jì)算兩個(gè)稀疏矩陣表示的字典a和b的和
:parama:第一個(gè)稀疏矩陣的字典表示
:paramb:第二個(gè)稀疏矩陣的字典表示
:return:求和后的稀疏矩陣的字典表示
"""
result={}
all_keys=set(a.keys())|set(b.keys())#合并兩個(gè)字典的鍵
forkeyinall_keys:
val_a=a.get(key,0)#獲取字典a中鍵對(duì)應(yīng)的值,如果鍵不存在則默認(rèn)為0
val_b=b.get(key,0)#獲取字典b中鍵對(duì)應(yīng)的值,如果鍵不存在則默認(rèn)為0
total=val_a+val_b#求和
iftotal!=0:#僅存儲(chǔ)不為0的結(jié)果
result[key]=total
returnresult
defmain():
"""
主函數(shù),處理輸入和輸出
"""
defparse_input():
"""
解析輸入的函數(shù),將輸入的數(shù)字序列轉(zhuǎn)換為稀疏矩陣的字典表示
"""
sequence=input().split()#將輸入的數(shù)字序列分割成列表
matrix_dict={}
fori,numinenumerate(sequence):
num=int(num)
ifnum!=0:#僅存儲(chǔ)非零元素
matrix_dict[i]=num
returnmatrix_dict
a=parse_input()#獲取第一個(gè)稀疏矩陣的字典表示
b=parse_input()#獲取第二個(gè)稀疏矩陣的字典表示
result_dict=sparseArraySum(a,b)#計(jì)算稀疏矩陣的和
result_sequence=[0]*10#初始化結(jié)果序列,長(zhǎng)度為10
forkey,valueinresult_dict.items():
result_sequence[key]=value#將字典中的非零元素填入結(jié)果序列
print("".join(str(num)fornuminresult_sequence))#將結(jié)果序列元素轉(zhuǎn)換為字符串并使用空格連接輸出
if__name__=="__main__":
main()】2.密碼校驗(yàn)題目?jī)?nèi)容:校驗(yàn)密碼是否合法:編寫程序提示用戶輸入一個(gè)密碼,要求長(zhǎng)度在5-10位,密碼里必須包含大寫字母、小寫字母和數(shù)字。根據(jù)用戶輸入會(huì)返回相應(yīng)提示信息:如果密碼長(zhǎng)度不合法,返回“Thelengthofpasswordmustinrangeof5-10”;如果密碼內(nèi)容不合法,返回"Passwordmustincludeuppercase,lowercaseanddigit",否則返回“Passwordinputsuccess”。提示:可利用S.isdisjoint(T)方法,如果集合S與T沒有相同元素,返回True。輸入格式:一個(gè)字符串輸出格式:一個(gè)字符串輸入樣例:asdQEWr123輸出樣例:Passwordinputsuccess
答案:【defcheck_password():
"""
此函數(shù)用于檢查用戶輸入的密碼是否合法
"""
password=input()#獲取用戶輸入的密碼
ifnot(5<=len(password)<=10):#檢查密碼長(zhǎng)度是否在5到10之間
return"Thelengthofpasswordmustinrangeof5-10"
upper_set=set('ABCDEFGHIJKLMNOPQRSTUVWXYZ')#存儲(chǔ)大寫字母的集合
lower_set=set('abcdefghijklmnopqrstuvwxyz')#存儲(chǔ)小寫字母的集合
digit_set=set('0123456789')#存儲(chǔ)數(shù)字的集合
password_set=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度水利工程專用塊石供應(yīng)合同3篇
- 二零二五年度班組安全文化建設(shè)與宣傳合同3篇
- 二零二五年度倉儲(chǔ)庫房租賃合同范本(含押金條款)3篇
- 二零二五年度生物制藥原料購銷合同范本3篇
- 化妝品行業(yè)的保安工作總結(jié)
- 2024版租賃出租車服務(wù)合同3篇
- 二零二五年度城市清潔服務(wù)合同2篇
- 二零二五年度物業(yè)公司空調(diào)清洗保養(yǎng)服務(wù)合同2篇
- 二零二五年度涂料材料買賣合同終止與環(huán)保標(biāo)準(zhǔn)執(zhí)行協(xié)議3篇
- 2024清潔勞務(wù)分包合同范本:醫(yī)院病房清潔維護(hù)服務(wù)協(xié)議6篇
- 公租房續(xù)租申請(qǐng)書范文示例
- 事故處理程序全套
- 2023年社工考試《社會(huì)工作綜合能力》(初級(jí))真題(含答案)
- 2023-2024學(xué)年江蘇省徐州市九年級(jí)(上)期中物理試卷
- 硅石項(xiàng)目建議書范本
- 起重機(jī)械安全生產(chǎn)隱患課件
- 概率論在金融風(fēng)險(xiǎn)評(píng)估中的應(yīng)用研究
- 信訪十種情形追責(zé)問責(zé)制度
- 大型儲(chǔ)罐施工工法倒裝法安裝
- 手機(jī)歸屬地表格
- 一年級(jí)上冊(cè)數(shù)學(xué)思維教材
評(píng)論
0/150
提交評(píng)論