物聯(lián)網(wǎng)Python編程實戰(zhàn) 習(xí)題答案_第1頁
物聯(lián)網(wǎng)Python編程實戰(zhàn) 習(xí)題答案_第2頁
物聯(lián)網(wǎng)Python編程實戰(zhàn) 習(xí)題答案_第3頁
物聯(lián)網(wǎng)Python編程實戰(zhàn) 習(xí)題答案_第4頁
物聯(lián)網(wǎng)Python編程實戰(zhàn) 習(xí)題答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課后習(xí)題答案單元一請闡述物聯(lián)網(wǎng)系統(tǒng)網(wǎng)絡(luò)的組成?物聯(lián)網(wǎng)的體系架構(gòu)可以分為三個主要層次:感知層、網(wǎng)絡(luò)層和應(yīng)用層。感知層:這一層是物聯(lián)網(wǎng)體系架構(gòu)的最底層,主要負責(zé)識別物體、采集信息。在這一層,大量的傳感器和執(zhí)行器被部署在物理環(huán)境中,用于監(jiān)測溫度、濕度、光線、壓力等物理參數(shù),或者控制設(shè)備的開關(guān)等操作。這些傳感器和執(zhí)行器通過各種接口與網(wǎng)絡(luò)層相連,將收集到的數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)層進行處理。網(wǎng)絡(luò)層:這一層是物聯(lián)網(wǎng)體系架構(gòu)的核心,主要負責(zé)信息的傳遞和處理。在感知層收集到的數(shù)據(jù)需要通過各種網(wǎng)絡(luò)協(xié)議(如Wi-Fi、ZigBee、LoRa等)傳輸?shù)骄W(wǎng)絡(luò)層。在網(wǎng)絡(luò)層,這些數(shù)據(jù)被進一步處理、存儲和分析,以便為上層的應(yīng)用提供支持。應(yīng)用層:這一層是物聯(lián)網(wǎng)體系架構(gòu)的最頂層,是物聯(lián)網(wǎng)和用戶的接口。應(yīng)用層將來自網(wǎng)絡(luò)層的數(shù)據(jù)轉(zhuǎn)化為有價值的信息,并根據(jù)業(yè)務(wù)需求對這些信息進行處理。例如,在智能家居中,應(yīng)用層可以根據(jù)傳感器采集的溫度和濕度數(shù)據(jù)控制空調(diào)和加濕器的開關(guān);在智能農(nóng)業(yè)中,應(yīng)用層可以根據(jù)土壤濕度和光照強度等參數(shù)控制灌溉系統(tǒng)和照明設(shè)備的開關(guān)。物聯(lián)網(wǎng)應(yīng)用技術(shù)中常用的通信手段有哪些?無線傳感網(wǎng)(WSN)、藍牙、Wi-Fi、GSM、Zigbee、LoRaPython語言有何特點?簡單易學(xué),語法清晰,結(jié)構(gòu)簡單,關(guān)鍵字少面向?qū)ο?,支持多種編程范式可移植性,跨平臺兼容,開源解釋性,無需編譯,易于調(diào)試可擴展性,可以用C或C++擴展新功能和數(shù)據(jù)類型Python語言在物聯(lián)網(wǎng)方向有哪些典型的應(yīng)用?數(shù)據(jù)采集與處理:Python可以通過各種傳感器和設(shè)備采集數(shù)據(jù),并利用強大的數(shù)據(jù)處理和分析庫對數(shù)據(jù)進行處理和分析,為后續(xù)的應(yīng)用提供支持。設(shè)備控制與自動化:Python可以通過各種通信協(xié)議(如MQTT、Modbus等)控制和自動化設(shè)備,實現(xiàn)設(shè)備的遠程控制和自動化操作。數(shù)據(jù)分析與可視化:Python可以利用豐富的數(shù)據(jù)分析庫對采集的數(shù)據(jù)進行深入分析,并通過可視化技術(shù)將結(jié)果呈現(xiàn)出來,幫助用戶更好地理解和分析數(shù)據(jù)。應(yīng)用開發(fā)和集成:Python可以與其他編程語言和系統(tǒng)集成,實現(xiàn)各種復(fù)雜的應(yīng)用開發(fā)和集成,如智能家居、工業(yè)自動化等。單元二一、選擇題1.Python程序文件的擴展名是(D)。A..pythonB..pytC..ptD..py2.以下敘述中正確的是(C)。A.Python3.x與Python2.x兼容B.Python語句只能以程序方式執(zhí)行C.Python是解釋型語言D.Python語言出現(xiàn)得晚,具有其他高級語言的一切優(yōu)點3.下列選項中合法的標(biāo)識符是(A)。A._7a_bB.breakC._a$bD.7ab4.Python不支持的數(shù)據(jù)類型有(A)。A.char B.int C.float D.list5.關(guān)于Python中的復(fù)數(shù),下列說法錯誤的是(D)。A.表示復(fù)數(shù)的語法形式是a+bjB.實部和虛部都必須是浮點數(shù)C.虛部必須加后綴j,且必須是小寫D.函數(shù)abs()可以求復(fù)數(shù)的模6.函數(shù)type(1+0xf*3.14)的返回結(jié)果是(D)。A.<class'int'>B.<class'long'>C.<class'str'>D.<class'float'>7.字符串s='a\nb\tc',則len(s)的值是(C)。A.7B.6C.5D.48.Python語句print(0xA+0xB)的輸出結(jié)果是(D)。A.0xA+0xBB.A+BC.0xA0xBD.219.語句eval('2+4/5')執(zhí)行后的輸出結(jié)果是(A)。A.2.8 B.2C.2+4/5 D.'2+4/5'10.與數(shù)學(xué)表達式對應(yīng)的Python表達式中,不正確的是(C)。A.c*d/(2*a*b)B.c/2*d/a/bC.c*d/2*a*bD.c*d/2/a/b11.為了給整型變量x,y,z賦初值10,下面正確的Python賦值語句是(C)。A.xyz=10B.x=10y=10z=10C.x=y=z=10D.x=10,y=10,z=1012.將數(shù)學(xué)式2<x≤10表示成正確的Python表達式為(B)。A.2<x<=10B.2<xandx<=10C.2<x&&x<=10D.x>2orx<=1013.以下if語句語法正確的是(D)。A.ifa>0:x=20else:x=200B.ifa>0:x=20else:x=200C.ifa>0:x=20else:x=200D.ifa>0:x=20else:x=20014.關(guān)于while循環(huán)和for循環(huán)的區(qū)別,下列敘述中正確的是(C)。A.while語句的循環(huán)體至少無條件執(zhí)行一次,for語句的循環(huán)體有可能一次都不執(zhí)行B.while語句只能用于循環(huán)次數(shù)未知的循環(huán),for語句只能用于循環(huán)次數(shù)已知的循環(huán)C.在很多情況下,while語句和for語句可以等價使用D.while語句只能用于可迭代變量,for語句可以用任意表達式表示條件15.以下for語句中,不能完成1~10的累加功能的是(A)。A.foriinrange(10,0):sum+=iB.foriinrange(1,11):sum+=iC.foriinrange(10,-1):sum+=iD.foriin(10,9,8,7,6,5,4,3,2,1):sum+=i16.下列選項中不屬于函數(shù)優(yōu)點的是(D)。A.減少代碼重復(fù)B.使程序模塊化C.使程序便于閱讀D.便于發(fā)揮程序員的創(chuàng)造力17.以下關(guān)于函數(shù)說法正確的是(D)。A.函數(shù)的實際參數(shù)和形式參數(shù)必須同名B.函數(shù)的形式參數(shù)既可以是變量也可以是常量C.函數(shù)的實際參數(shù)不可以是表達式D.函數(shù)的實際參數(shù)可以是其他函數(shù)的調(diào)用18.下列程序的運行結(jié)果是(B)。deff(x=2,y=0):returnx-yy=f(y=f(),x=5)print(y)A.-3B.3C.2D.519.下列程序的輸出結(jié)果是(A)。x=10raiseException("AAA")x+=10print("x=",x)A.Exception:AAA B.10 C.20 D.x=2020.如果以負數(shù)作為平方根函數(shù)math.sqrt()的參數(shù),將產(chǎn)生(C)。A.死循環(huán)B.復(fù)數(shù)C.ValueError異常D.finally二、填空題1.Python語句既可以采用交互式的命令執(zhí)行方式,又可以采用程序執(zhí)行方式。2.在Python集成開發(fā)環(huán)境中,可使用快捷鍵F5運行程序。3.Python語言通過縮進對齊來區(qū)分不同的語句塊。4.使用math模塊庫中的函數(shù)時,必須要使用import語句導(dǎo)入該模塊。5.表達式2<=1and0ornot0的值是True。6.當(dāng)x=0,y=50時,語句z=xifxelsey執(zhí)行后,z的值是50。6.執(zhí)行循環(huán)語句foriinrange(1,5,2):print(i),循環(huán)體執(zhí)行的次數(shù)是2。7.循環(huán)語句foriinrange(-3,21,4)的循環(huán)次數(shù)為6。8.函數(shù)首部以關(guān)鍵字def開始,最后以冒號結(jié)束。9.Python提供了一些異常類,所有異常都是Exception的成員。10.使用關(guān)鍵字global可以在一個函數(shù)中設(shè)置一個全局變量。三、問答題1.Python語言有哪些數(shù)據(jù)類型?數(shù)字型,字符串,列表,元組,集合,字典2.簡述Python程序中語句的縮進規(guī)則。同一代碼塊的語句必須有相同的縮進。每一新的代碼塊(如:if語句,for循環(huán),函數(shù)定義等)都需要增加一級縮進;通常每一級縮進使用4個空格。這是Python社區(qū)的推薦實踐,也是大多數(shù)IDE和代碼編輯器的默認設(shè)置。盡管Python語法允許使用任意數(shù)量的空格進行縮進,但混合使用不同數(shù)量的空格會使代碼難以閱讀,也可能導(dǎo)致錯誤;當(dāng)一個代碼塊結(jié)束后,縮進應(yīng)該回退到上一級代碼塊的縮進級別。3.Python基本輸入輸出通過哪些語句來實現(xiàn)?基于input()函數(shù)輸入基于print()的函數(shù)輸出4.什么叫循環(huán)結(jié)構(gòu)?舉例說明其應(yīng)用。循環(huán)結(jié)構(gòu)是指在程序中需要反復(fù)執(zhí)行某個功能而設(shè)置的一種程序結(jié)構(gòu)。它由循環(huán)體中的條件,判斷繼續(xù)執(zhí)行某個功能還是退出循環(huán)。根據(jù)判斷條件,循環(huán)結(jié)構(gòu)又可細分為以下兩種形式:先判斷后執(zhí)行的循環(huán)結(jié)構(gòu)和先執(zhí)行后判斷的循環(huán)結(jié)構(gòu)。5.break語句和continue語句的區(qū)別是什么?break用于跳出一個循環(huán)體或者完全結(jié)束一個循環(huán),不僅可以結(jié)束其所在的循環(huán),還可結(jié)束其外層循環(huán)。continue語句的作用是跳過本次循環(huán)體中剩下尚未執(zhí)行的語句,立即進行下一次的循環(huán)條件判定,可以理解為只是中止(跳過)本次循環(huán),接著開始下一次循環(huán)。6.什么叫模塊?如何導(dǎo)入模塊?臨時添加模塊完整路徑;將模塊保存到指定位置;設(shè)置環(huán)境變量7.什么叫異常?異常處理有何作用?在Python中如何處理異常?異常處理(ExceptionHanding)是指在程序運行過程中對異常情況進行檢測和處理的機制。在Python中,異常處理主要通過tryexcept、else和finally語句來實現(xiàn)。8.a(chǎn)ssert語句和raise語句有何作用?python可以自動觸發(fā)異常(內(nèi)置函數(shù))的定義為顯示的拋出異常,用戶可以使用raise進行判斷,顯式的引發(fā)異常,raise執(zhí)行后程序?qū)⒉辉傧蛳聢?zhí)行。assert語句用于檢測某個條件表達式是否為真。assert語句又稱為斷言語句,即assert認為檢測的表達式永遠為真。單元三一、選擇題1.訪問字符串中的部分字符的操作稱為(A)。A.分片B.合并C.索引D.賦值2.下列關(guān)于字符串的描述錯誤的是(B)。A.字符串s的首字符是s[0]B.在字符串中,同一個字母的大小是等價的。C.字符串中的字符都是以某種二進制編碼的方式進行存儲和處理的D.字符串也能進行關(guān)系比較操作3.設(shè)s="PythonProgramming",那么print(s[-5:])的結(jié)果是(A)。A.mmingB.PythonC.mminD.Pytho4.將字符串中全部字母轉(zhuǎn)換為大寫字母的字符串方法是(D)。A.swapcaseB.capitalizeC.uppercaseD.upper5.下列Python數(shù)據(jù)中其元素可以改變的是(A)。A.列表B.元組C.字符串D.?dāng)?shù)組6.表達式“[2]in[1,2,3,4]”的值是(D)。A.YesB.NoC.TrueD.False7.max((1,2,3)*2)的值是(A)。A.3B.4C.5D.67.tuple(range(2,10,2))的返回結(jié)果是(C)。A.[2,4,6,8]B.[2,4,6,8,10]C.(2,4,6,8)D.(2,4,6,8,10)8.下列程序執(zhí)行后,p的值是(A)。a=[[1,2,3],[4,5,6],[7,8,9]]p=1foriinrange(len(a)):p*=a[i][i]A.45B.15C.6D.289.下列Python程序的運行結(jié)果是(C)。s=[1,2,3,4]s.append([5,6])print(len(s))A.2B.4C.5D.610.對于字典D={'A':10,'B':20,'C':30,'D':40},len(D)的是(A)。A.4B.8C.10D.12二、填空題1."4"+"5"的值是‘45’。2.字符串s中最后一個字符的位置是len(s)-1。3.下面語句的執(zhí)行結(jié)果是['A','A','A']。s='A'print(3*s.split())3.序列元素的編號稱為索引,它從0開始,訪問序列元素時將它用中括號括起來。4.對于列表x,x.append(a)等價于x.insert(len(x),a)(用insert方法)。5.設(shè)有列表L=[1,2,3,4,5,6,7,8,9],則L[2:4]的值是[3,4],L[::2]的值是[1,3,5,7,9],L[-1]的值是9,L[-1:-1-len(L):-1]的值是[9,8,7,6,5,4,3,2,1]。6.下列程序的運行結(jié)果是7。s1=[1,2,3,4]s2=[5,6,7]print(len(s1+s2))7.下列語句執(zhí)行后,s值為[4,'x','y']。s=[1,2,3,4,5,6]s[:1]=[]s[:2]='a's[2:]='b's[2:3]=['x','y']dels[:1]8.在Python中,字典和集合都使用大括號作為定界符。字典的每個元素由兩部分組成,即關(guān)鍵字和值,其中關(guān)鍵字不允許重復(fù)。9.設(shè)a=set([1,2,2,3,3,3,4,4,4,4]),則sum(a)的值是10。10.語句print(len({}))的執(zhí)行結(jié)果是0。三、問答題1.什么叫字符串?有哪些常用的字符編碼方案?2.?dāng)?shù)字字符和數(shù)字值(如'5'和5)有何不同?如何轉(zhuǎn)換?3.假設(shè)某部門入職8位員工,現(xiàn)有3個辦公室均有足夠的空余工位,如何編程實現(xiàn)隨機為這8位員工分配辦公室?4.什么是空字典和空集合?如何創(chuàng)建?5.字典的遍歷有哪些方法?單元四一、選擇題1.下列說法中不正確的是(D)。A.類是對象的模板,而對象是類的實例B.實例屬性名如果以__開頭,就變成了一個私有變量C.只有在類的內(nèi)部才可以訪問類的私有變量,外部不能訪問D.在Python中,一個子類只能有一個父類2.下列選項中不是面向?qū)ο蟪绦蛟O(shè)計基本特征的是(C)。A.繼承B.多態(tài)C.可維護性D.封裝3.在方法定義中,訪問實例屬性x的格式是(B)。A.xB.self.xC.self[x]D.self.getx()4.下列程序的執(zhí)行結(jié)果是(D)。classPoint:x=10y=10def__init__(self,x,y):self.x=xself.y=ypt=Point(20,20)print(pt.x,pt.y)A.1020B.2010C.1010D.20205.下列程序的執(zhí)行結(jié)果是(A)。classC():f=10classC1(C):passprint(C.f,C1.f)A.1010B.10passC.pass10D.運行出錯二、填空題1.面向?qū)ο蟪绦蛟O(shè)計的三大特性包括封裝、繼承、多態(tài)。2.在Python中,定義類的關(guān)鍵字是class。3.類的定義如下:classperson:name=’Liming’score=90該類的類名是person,其中定義了name屬性和score屬性,它們都是公有屬性。如果在屬性名前加兩個下劃線(__),則屬性是私有屬性。將該類實例化創(chuàng)建對象p,使用的語句為p=person(),通過p來訪問屬性,格式為、p.score。4.可以從現(xiàn)有的類來定義新的類,這稱為類的繼承,新的類稱為子類,而原來的類稱為基類、父類或超類。5.創(chuàng)建對象后,可以使用.運算符來調(diào)用其成員。.6.下列程序的運行結(jié)果為100100。classparent:def__init__(self,param):self.v1=paramclasschild(parent):def__init__(self,param):parent.__init__(self,param)self.v2=paramobj=child(100)print(obj.v1,obj.v2)8.下列程序的運行結(jié)果為400。classaccount:def__init__(self,id,balance):self.id=idself.balance=balancedefdeposit(self,amount):self.balance+=amountdefwithdraw(self,amount):self.balance-=amountacc1=account('1234',100)acc1.deposit(500)acc1.withdraw(200)print(acc1.balance)三、問答題1.什么叫類?什么叫對象?它們有何關(guān)系?類是具有相同特性(數(shù)據(jù)元素)和行為(功能)的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象,類實際上就是一種數(shù)據(jù)類型。類具有屬性,它是對象的狀態(tài)的抽象,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性。類具有操作,它是對象的行為的抽象,用操作名和實現(xiàn)該操作的方法來描述。對象是人們要進行研究的任何事物,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計劃或事件。對象具有狀態(tài),一個對象用數(shù)據(jù)值來描述它的狀態(tài)。對象還有操作,用于改變對象的狀態(tài),對象及其操作就是對象的行為。對象實現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作封裝于對象的統(tǒng)一體中。類的實力化的結(jié)果就是對象,而對象的抽象就是類,類描述了一組有相同特性(屬性)和相同行為的對象。2.在Python中如何定義類與對象?創(chuàng)建類,類主要由類名,屬性,方法組成,當(dāng)然創(chuàng)建一個類時,屬性和方法可以選擇的。創(chuàng)建對象,直接類名(),不用像java中還要new,所以python更加簡潔3.類的屬性有哪幾種?如何訪問它們?類的屬性按使用范圍分為公有屬性和私有屬性類;可以通過instance.__classname__attribute方式訪問4.繼承與派生有何關(guān)系?如何實現(xiàn)類的繼承?繼承是從已有的類中派生出新的類,新類具有原類的數(shù)據(jù)屬性和行為,并能擴展新的行為,派生類就是從一個已有的類中衍生出新的類,在新類的基礎(chǔ)上添加新的屬性和行為5.什么是多態(tài)?在Python中如何體現(xiàn)?多態(tài)指的是多種狀態(tài),相同類型的不同對象完成某個行為時,會得到不同的狀態(tài)多態(tài),一般是通過繼承和方法重寫實現(xiàn),多個子類繼承同一個父類這些子類對象重寫父類的方法,實現(xiàn)不同的邏輯單元五你知道OpenMV的特點嗎?簡單易用:使用Python語言進行編程,無需底層開發(fā)。高性能的圖像處理:支持多種圖像算法如圖像采集、二值化、濾波、邊緣檢測、顏色識別、形狀識別等。豐富的硬件支持:可以運行在多種硬件平Bluetooth、LCD等。開放性與可擴展性:開源項目,用戶可以自由修改和擴展代碼,添加自己的算法和傳感器。低成本:相對其他嵌入式視覺開發(fā)平臺成本較低,適合學(xué)生和個人開發(fā)者使用OpenMVIDE有幾種色彩空間,如何查看圖片不同色彩空間的閾值?OpenMVIDE中的顏色追蹤器工具;OpenMV提供的API來設(shè)置閾值和色彩空間;OpenMV提供的自適應(yīng)閾值算法來自動調(diào)整值。3.你能找到OpenMVIDE示例程序的路徑嗎?4.嘗試閱讀OpenMV示例程序并運行,觀察運行效果。單元六?創(chuàng)新小嘗試:設(shè)計“一物一碼”追蹤溯源系統(tǒng)背景:對于制造業(yè)來說,產(chǎn)品的生產(chǎn)已逐步的實現(xiàn)自動化,滿足了消費者對產(chǎn)量的需求,但隨著產(chǎn)量的不斷增加,市場競爭的白熱化加劇,如何有效的保證產(chǎn)品的質(zhì)量,確保每件產(chǎn)品在原料入廠、生產(chǎn)作業(yè)過程和成品出廠的過程中能夠?qū)崿F(xiàn)精確的可追溯性,是目前眾多企業(yè)用戶最關(guān)心的問題。大部分制造企業(yè)都還采用手工作業(yè)方式記錄產(chǎn)品生產(chǎn)過程的各類批次信息和質(zhì)量信息,

溫馨提示

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

最新文檔

評論

0/150

提交評論