Python程序設(shè)計(jì)基礎(chǔ)案例教程 課件 案例3-2 智能家居控制程序_第1頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)案例教程 課件 案例3-2 智能家居控制程序_第2頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)案例教程 課件 案例3-2 智能家居控制程序_第3頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)案例教程 課件 案例3-2 智能家居控制程序_第4頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)案例教程 課件 案例3-2 智能家居控制程序_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

程序控制結(jié)構(gòu)【案例3-2】智能家居控制程序02案例分析本案例通過(guò)設(shè)計(jì)一個(gè)簡(jiǎn)易的智能家居設(shè)備控制模擬程序,模擬用戶(hù)控制家中的各類(lèi)智能設(shè)備,如開(kāi)關(guān)燈(當(dāng)用戶(hù)選擇控制燈時(shí),根據(jù)當(dāng)前燈的狀態(tài)“開(kāi)/關(guān)”進(jìn)行反轉(zhuǎn))、調(diào)節(jié)空調(diào)溫度(更新溫度變量并反饋結(jié)果)、控制掃地機(jī)器人(根據(jù)當(dāng)前機(jī)器人狀態(tài)“工作/靜止”進(jìn)行切換)、查看所有設(shè)備狀態(tài)(一次性輸出所有設(shè)備的當(dāng)前狀態(tài)),直觀展現(xiàn)分支和循環(huán)在實(shí)際場(chǎng)景中的應(yīng)用。開(kāi)關(guān)燈功能運(yùn)行結(jié)果調(diào)節(jié)空調(diào)溫度功能運(yùn)行結(jié)果控制掃地機(jī)器人功能運(yùn)行結(jié)果控制掃地機(jī)器人功能運(yùn)行結(jié)果知識(shí)儲(chǔ)備for循環(huán)while循環(huán)無(wú)限循環(huán)條件判斷語(yǔ)句在循環(huán)中的運(yùn)用知識(shí)儲(chǔ)備知識(shí)儲(chǔ)備—for循環(huán)for循環(huán)一般用于實(shí)現(xiàn)遍歷循環(huán)。遍歷指逐一訪問(wèn)目標(biāo)對(duì)象中的數(shù)據(jù),例如逐個(gè)訪問(wèn)字符串中的字符;遍歷循環(huán)指在循環(huán)中完成對(duì)目標(biāo)對(duì)象的遍歷。for變量in可迭代對(duì)象:

代碼塊1[else:

代碼塊2]語(yǔ)法格式上述格式中,“變量”是一個(gè)臨時(shí)變量,又稱(chēng)“循環(huán)變量”,用于臨時(shí)存儲(chǔ)從可迭代對(duì)象中讀取出來(lái)的元素;“代碼塊1”是要重復(fù)執(zhí)行的代碼段,代碼塊指的是具有相同縮進(jìn)格式的多行代碼,由于和循環(huán)結(jié)構(gòu)聯(lián)用,因此“代碼塊1”又稱(chēng)為循環(huán)體。知識(shí)儲(chǔ)備—for循環(huán)無(wú)縫銜接單元測(cè)試forsin'鄉(xiāng)村振興':print(s,end='*')else:print('for循環(huán)正常結(jié)束了')示例4使用for循環(huán)遍歷字符串“鄉(xiāng)村振興”,并在控制臺(tái)輸出。知識(shí)儲(chǔ)備—for循環(huán)無(wú)縫銜接單元測(cè)試在for循環(huán)中,range()函數(shù)是一個(gè)非常實(shí)用的工具,它可以方便地生成整數(shù)序列,語(yǔ)法格式如下:range(start,end,step)語(yǔ)法格式參數(shù)說(shuō)明:

start:范圍開(kāi)始的整數(shù)(包括該整數(shù))。如果省略該參數(shù),則默認(rèn)從0開(kāi)始。

end:范圍結(jié)束的整數(shù)(不包括該整數(shù)),必須參數(shù)。

step:步長(zhǎng),即數(shù)字之間的間隔,默認(rèn)為1。如果為正數(shù),則序列中的數(shù)字會(huì)遞增;如果為負(fù)數(shù),則序列中的數(shù)字會(huì)遞減。知識(shí)儲(chǔ)備—for循環(huán)無(wú)縫銜接單元測(cè)試start=1n=int(input('輸入正整數(shù):'))ls=range(1,n+1)foriinls:print(i)示例5生成1到n的整數(shù)序列。知識(shí)儲(chǔ)備—while循環(huán)while循環(huán)是一種控制流語(yǔ)句,用于重復(fù)執(zhí)行一段代碼塊,直到給定的條件不再滿(mǎn)足為止。常用于循環(huán)次數(shù)不確定,僅依據(jù)某個(gè)條件來(lái)決定是否繼續(xù)循環(huán)的場(chǎng)景。語(yǔ)法格式如下:while條件表達(dá)式:

代碼塊1[else:

代碼塊2]語(yǔ)法格式知識(shí)儲(chǔ)備—while循環(huán)無(wú)縫銜接單元測(cè)試s=0n=1whilen<=100:s=s+nn=n+1print('計(jì)算的累加和為:',s)示例6使用while循環(huán)計(jì)算1+2+3+…+100的累加和。知識(shí)儲(chǔ)備—無(wú)限循環(huán)無(wú)縫銜接單元測(cè)試無(wú)限循環(huán)又叫死循環(huán),是指循環(huán)條件一直成立、會(huì)持續(xù)不斷執(zhí)行的循環(huán),直到顯式地中斷它(例如,使用break語(yǔ)句或關(guān)閉程序)。在Python中,可以使用“whileTrue:”來(lái)創(chuàng)建一個(gè)無(wú)限循環(huán)。whileTrue:

條件為真時(shí)執(zhí)行的代碼塊語(yǔ)法格式知識(shí)儲(chǔ)備—無(wú)限循環(huán)無(wú)縫銜接單元測(cè)試i=1whileTrue:print(i)ifi==5:breaki+=1示例7定義一個(gè)無(wú)限循環(huán),并使用break語(yǔ)句終止。知識(shí)儲(chǔ)備—條件判斷語(yǔ)句在循環(huán)中的運(yùn)用無(wú)縫銜接單元測(cè)試在循環(huán)中,常常需要結(jié)合條件判斷語(yǔ)句(如if語(yǔ)句)對(duì)循環(huán)變量或其他相關(guān)數(shù)據(jù)進(jìn)行條件判斷,并根據(jù)判斷結(jié)果決定后續(xù)的操作。無(wú)縫銜接單元測(cè)試count=0foriinrange(20):print(f"正在打印第{i+1}份筆記")count+=1ifcount==10:print("已打印10份,休息一下")示例8使用for循環(huán)模擬打印20份筆記,打印第10份時(shí)提示“已打印10份,休息一下”。案例實(shí)現(xiàn)創(chuàng)建名稱(chēng)為“智能家居控制程序”的項(xiàng)目,在項(xiàng)目下創(chuàng)建名稱(chēng)為smart_home_system的Python文件。準(zhǔn)備工作案例實(shí)現(xiàn)STEP01初始化設(shè)備狀態(tài)定義并設(shè)置三個(gè)智能家居設(shè)備(燈、空調(diào)、掃地機(jī)器人)的初始狀態(tài),為后續(xù)操作提供基準(zhǔn)值。通過(guò)變量存儲(chǔ)狀態(tài),便于動(dòng)態(tài)更新和查詢(xún)。light_status="關(guān)閉"air_conditioner_temperature=26robot_status="靜止"案例實(shí)現(xiàn)STEP02創(chuàng)建主菜單循環(huán)使用無(wú)限循環(huán)持續(xù)展示功能菜單(控制燈、調(diào)節(jié)溫度等),獲取用戶(hù)輸入選項(xiàng)。確保程序在用戶(hù)主動(dòng)退出前保持運(yùn)行,形成交互閉環(huán)。原有代碼....whileTrue:print("\n=====智能家居設(shè)備控制菜單=====")print("1.控制燈")print("2.調(diào)節(jié)空調(diào)溫度")print("3.控制掃地機(jī)器人")print("4.查看所有設(shè)備狀態(tài)")print("5.退出")user_choice=input("請(qǐng)輸入操作選項(xiàng)(1-5):")案例實(shí)現(xiàn)STEP03控制燈當(dāng)用戶(hù)選擇控制燈時(shí),根據(jù)當(dāng)前燈的狀態(tài)(開(kāi)/關(guān))進(jìn)行反轉(zhuǎn),并更新?tīng)顟B(tài)變量,同時(shí)輸出操作結(jié)果。whileTrue:原有代碼...ifuser_choice=="1":iflight_status=="關(guān)閉":light_status="打開(kāi)"print("燈已打開(kāi)")else:light_status="關(guān)閉"print("燈已關(guān)閉")案例實(shí)現(xiàn)STEP04調(diào)節(jié)空調(diào)溫度當(dāng)用戶(hù)選擇控制燈時(shí),根據(jù)當(dāng)前燈的狀態(tài)(開(kāi)/關(guān))進(jìn)行反轉(zhuǎn),并更新?tīng)顟B(tài)變量,同時(shí)輸出操作結(jié)果。whileTrue:原有代碼...elifuser_choice=="2":print(f"當(dāng)前空調(diào)溫度為{air_conditioner_temperature}℃")new_temp=input("請(qǐng)輸入新的溫度值(16-30):")ifnew_temp.isdigit():new_temp=int(new_temp)if16<=new_temp<=30:air_conditioner_temperature=new_tempprint(f"空調(diào)溫度已調(diào)節(jié)至{air_conditioner_temperature}℃")else:print("溫度值超出范圍,請(qǐng)輸入16-30之間的數(shù)字")else:print("輸入無(wú)效,請(qǐng)輸入數(shù)字")案例實(shí)現(xiàn)STEP05控制掃地機(jī)器人根據(jù)當(dāng)前機(jī)器人狀態(tài)(工作/靜止)進(jìn)行切換,更新?tīng)顟B(tài)變量并輸出相應(yīng)提示,模擬設(shè)備啟停操作。whileTrue:原有代碼...elifuser_choice=="3":ifrobot_status=="靜止":robot_status="工作"print("掃地機(jī)器人已開(kāi)始工作")else:robot_status="靜止"print("掃地機(jī)器人已停止工作")案例實(shí)現(xiàn)STEP06查看設(shè)備狀態(tài)一次性輸出所有設(shè)備的當(dāng)前狀態(tài)(燈的開(kāi)關(guān)、空調(diào)溫度、機(jī)器人工作狀態(tài)),幫助用戶(hù)確認(rèn)系統(tǒng)當(dāng)前配置。whileTrue:原有代碼...elifuser_choice=="4":print(f"燈的狀態(tài):{light_status}")print(f"空調(diào)溫度:{air_conditioner_temperature}℃")print(f"掃地機(jī)器人狀態(tài):{robot_status}")案例實(shí)現(xiàn)STEP07退出系統(tǒng)當(dāng)用戶(hù)選擇退出時(shí),輸出感謝信息并終止循環(huán),結(jié)束程序運(yùn)行。whileTrue:原有代碼

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論