Python程序設(shè)計案例教程(慕課版)課件(25-64)_第1頁
Python程序設(shè)計案例教程(慕課版)課件(25-64)_第2頁
Python程序設(shè)計案例教程(慕課版)課件(25-64)_第3頁
Python程序設(shè)計案例教程(慕課版)課件(25-64)_第4頁
Python程序設(shè)計案例教程(慕課版)課件(25-64)_第5頁
已閱讀5頁,還剩297頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微信轉(zhuǎn)賬——if語句——嵌套布局的應(yīng)用案例25微信轉(zhuǎn)賬——if語句.pptx案例26短信數(shù)字驗(yàn)證碼——if…else語句.pptx案例27BMI體質(zhì)指數(shù)——if…elif…else語句.pptx案例28模擬Windows10用戶權(quán)限管理——開關(guān)語句(1).pptx案例29汽車之家車型導(dǎo)航——開關(guān)語句(2).pptx案例30出租車運(yùn)營里程計費(fèi)——and邏輯運(yùn)算符.pptx案例31企業(yè)年會抽獎——or邏輯運(yùn)算符.pptx案例32檢測密碼安全強(qiáng)度——輸入驗(yàn)證.pptx案例33個人存款計算器——not邏輯運(yùn)算符.pptx案例34停車場收費(fèi)系統(tǒng)——嵌套if…else語句.pptx案例35數(shù)據(jù)分解——for循環(huán)語句.pptx案例36程序安裝進(jìn)度條——在for循環(huán)中使用range()函數(shù).pptx案例37猜年齡——應(yīng)用for…else語句.pptx案例38100以內(nèi)的素數(shù)——for表達(dá)式.pptx案例39密碼輸錯6次賬戶凍結(jié)——while循環(huán)語句.pptx案例40回文數(shù)——在循環(huán)中應(yīng)用break語句.pptx案例41成語填填樂——在循環(huán)語句中應(yīng)用continue語句.pptx案例42世界城市時間同步——whileTrue循環(huán).pptx案例43輸入密碼和確認(rèn)密碼——在循環(huán)中使用input語句.pptx案例44生肖查詢——退出while循環(huán)的5種方法.pptx案例45虛擬減肥跑步機(jī)——while語句綜合應(yīng)用.pptx案例46動態(tài)乘法表——雙層while嵌套循環(huán)語句.pptx案例47運(yùn)動計劃自動提醒——復(fù)雜whileTrue循環(huán)嵌套語句.pptx案例48有多少個“1”——雙層for循環(huán)嵌套語句.pptx案例49企業(yè)社會信用代碼——多層for循環(huán)嵌套語句.pptx案例50運(yùn)動競賽——4層for循環(huán)嵌套語句.pptx案例51IMDb電影資料庫——打開和讀取文件.pptx案例52人物猜猜猜——文件操作的常用方法.pptx案例53隨機(jī)出題程序——寫入內(nèi)容到指定文件.pptx案例54文檔目錄修改——使用with語句處理文件.pptx案例55人物關(guān)系圈——規(guī)避文件讀取中的陷阱.pptx案例56統(tǒng)計隨機(jī)生成的IP地址——os模塊及os.path.pptx案例57自動創(chuàng)建日期文件——常用目錄操作.pptx案例58照片按日期批量歸檔——文件高級操作.pptx案例59文件名稱批量修改——遍歷目錄與刪除指定目錄.pptx案例60強(qiáng)力球彩票——使用自定義函數(shù).pptx案例61取火柴游戲——?函數(shù)參數(shù)的傳遞.pptx案例62IQ智商測試——函數(shù)的返回值.pptx案例63計算選手最后得分——?在函數(shù)中使用局部變量.pptx案例64擲骰子游戲——在函數(shù)中使用全局變量.pptx微信和微信支付簡介本課任務(wù)本課任務(wù)

小明手機(jī)上裝有微信,但沒有綁定銀行卡。請編寫一個模擬微信轉(zhuǎn)賬的程序,用戶可以輸入需要轉(zhuǎn)賬的數(shù)字,如果數(shù)字超過200,則輸出“轉(zhuǎn)賬金額不能超過200元”。if語句if表達(dá)式:語句塊布爾值一個Tab或4個空格執(zhí)行流程語句塊表達(dá)式TrueFalse開發(fā)流程圖金額>200TrueFalse開始輸入轉(zhuǎn)賬金額輸出“轉(zhuǎn)賬金額不能超過200元”結(jié)束比較運(yùn)算符真假TrueFalse比較運(yùn)算符大于>等于==不等于!=大于或等于>=小于或等于<=小于<比較運(yùn)算短信數(shù)字驗(yàn)證碼——if…else語句——嵌套布局的應(yīng)用短信驗(yàn)證碼本課任務(wù)本課任務(wù)

假設(shè)手機(jī)短信收到的數(shù)字驗(yàn)證碼為“278902”,編寫一個程序,讓用戶輸入數(shù)字驗(yàn)證碼,如果數(shù)字驗(yàn)證碼輸入正確,提示“支付成功”;否則提示“數(shù)字驗(yàn)證碼錯誤”。if…else語句if表達(dá)式:語句塊1布爾值一個Tab或4個空格else:語句塊2執(zhí)行流程表達(dá)式TrueFalse語句塊1語句塊2開發(fā)流程圖等于278902TrueFalse開始輸入驗(yàn)證碼輸出“驗(yàn)證碼錯誤”結(jié)束輸出“支付成功”BMI體質(zhì)指數(shù)——if…elif…else語句——嵌套布局的應(yīng)用體質(zhì)指數(shù)(BMI)=體重(kg)/身高的平方(m)體質(zhì)指數(shù)簡介本課任務(wù)本課任務(wù)

我國成人BMI標(biāo)準(zhǔn)為:<=18.4為偏瘦;18.5~23.9為正常;24~27.9為過重;>28為肥胖。根據(jù)BMI中國標(biāo)準(zhǔn)編寫一個程序,根據(jù)用戶輸入的體重和身高,計算體質(zhì)指數(shù)(BMI),并輸出對應(yīng)體質(zhì)分類。if…elif…else語句

如果滿足某種條件,就進(jìn)行某種處理,否則,如果滿足另一種條件,則執(zhí)行另一種處理……語法格式if表達(dá)式1:語句塊1else:語句塊nelif表達(dá)式2:語句塊2……執(zhí)行流程語句塊1語句塊2表達(dá)式1TrueFalse表達(dá)式2True……False……TrueFalse語句塊n開發(fā)流程圖輸出“偏瘦”輸出“正?!?lt;=18.4True18.5~23.9True輸出“過重”False24.0~27.9TrueFalse輸出“肥胖”開始輸入體重和身高結(jié)束計算BMI值False模擬Windows10用戶權(quán)限管理——開關(guān)語句(1)——嵌套布局的應(yīng)用超級管理員賬戶Administrators高級賬戶PowerUsers一般賬戶Users來賓賬戶Guests常用用戶組本課任務(wù)本課任務(wù)

編寫一個程序,根據(jù)用戶選擇新創(chuàng)建的用戶組,輸出用戶組簡稱和功能。輸入四種常用用戶組以外的用戶組或輸入錯誤,一律按“輸入非法”提示。開關(guān)語句汽車之家車型導(dǎo)航——開關(guān)語句(2)——嵌套布局的應(yīng)用汽車之家導(dǎo)航界面本課任務(wù)本課任務(wù)

根據(jù)下面提供的字典car_dict編寫一個程序,輸入汽車類型,輸出對應(yīng)車型的價格區(qū)間,車型輸入錯誤提示“車型不存在!”。car_dict={"微型車":"3-31萬","小型車":"3-41萬","緊湊型車":"4-55萬","中型車":"6萬以上","中大型車":"10萬以上","大型車":"81萬以上"}字典映射car_dict={"微型車":"3-31萬","小型車":"3-41萬","緊湊型車":"4-55萬","中型車":"6萬以上","中大型車":"10萬以上","大型車":"81萬以上"}開發(fā)流程圖sch_price!="nothing"TrueFalse開始定義汽車類型字串car_price輸出“車型不存在!”提示結(jié)束輸出車型對應(yīng)價格用戶輸入查找的車型(car_input)將在字典中的查找結(jié)果賦值給sch_price出租車運(yùn)營里程計費(fèi)——and邏輯運(yùn)算符——嵌套布局的應(yīng)用出租車起源本課任務(wù)本課任務(wù)

某城市出租車計費(fèi)方式為:出租車起步價8元,包含2千米;超過兩千米的部分,每千米收取1.5元;超過12千米的部分,每千米收取2元。利用if嵌套語句實(shí)現(xiàn)輸入行駛千米數(shù),計算出需要支付的費(fèi)用。and連接條件語句的流程圖條件2True條件1語句塊True表達(dá)式and運(yùn)算符ifmile<=2:ifmile>0:起步價8元2千米以內(nèi)ifmile<=2andmile>0:開發(fā)流程圖費(fèi)用:8元費(fèi)用:8+(mile-2)*1.50<mile<=2True2<mile<=12True費(fèi)用:8+(12-2)*1.5+(mile-12)*2Falsemile>12True開始結(jié)束輸入行駛千米數(shù)mileFalse企業(yè)年會抽獎——or邏輯運(yùn)算符——嵌套布局的應(yīng)用本課任務(wù)本課任務(wù)

某企業(yè)開年會,通過座位號進(jìn)行抽獎。抽獎時先產(chǎn)生兩個中獎號碼,中獎號碼在座位號區(qū)間(101~500)產(chǎn)生。如果座位號與中獎號碼相同,則為一等獎;如果座位號與幸運(yùn)號碼順序完全相反,則為二等獎;如果座位號的尾號與幸運(yùn)號碼的尾號相同,則為三等獎。輸入座位號(101~500),看是否中獎?使用or連接條件語句的流程圖條件2True條件1語句塊True表達(dá)式or運(yùn)算符sales=int(input("請輸入商品日銷量"))ifsales<10orsales>100:print("該商品為重點(diǎn)關(guān)注商品")將日銷量低于10或者高于100的商品列為重點(diǎn)關(guān)注商品sales=int(input("請輸入商品日銷量"))ifsales<10:print("該商品為重點(diǎn)關(guān)注商品")ifsales>100:print("該商品為重點(diǎn)關(guān)注商品")開發(fā)流程圖輸出“一等獎”輸出“二等獎”nm==lk1ornm==lk2Truerv==lk1orrv==lk2True輸出“三等獎”Falseng==un1orng==un2True獲取座位號的相反數(shù)rv結(jié)束獲取中獎號、座位號的個位數(shù)un1、un2和ngFalse開始產(chǎn)生中獎號碼lk1和lk2輸入座位號nm輸出“沒中獎”False檢測密碼安全強(qiáng)度——輸入驗(yàn)證——嵌套布局的應(yīng)用本課任務(wù)本課任務(wù)

編寫一個程序,用戶輸入密碼,密碼長度必須大于等于8位。如果密碼滿足10位以上、數(shù)字、大寫字母、小寫字母、其它符號中一種可以加1分,總計5分。1~5分依次對應(yīng)密碼安全等級為弱、較弱、中、較強(qiáng)和強(qiáng)。用數(shù)字和星號(*)輸出密碼等級。字符串的內(nèi)置函數(shù)判斷字符串是否只由字母組成isalpha()判斷字符串是否由小寫字母組成islower()判斷字符串是否由大寫字母組成isupper()字符串的內(nèi)置函數(shù)num=input("請輸入數(shù)據(jù):")ifnum.isalpha():print("輸入為字母!!")ifnum.islower():print("輸入為小寫字母!!")ifnum.isupper():print("輸入為大寫字母!!")字符串的內(nèi)置函數(shù)判斷字符串是否只由數(shù)字組成isdigit()判斷字符串是否只包含十進(jìn)制字符isdecimal()判斷字符串是否只由數(shù)字組成isnumeric()字符串的內(nèi)置函數(shù)print('1234'.isdigit())print('1234'.isdigit())print('1234'.isdecimal())print('1234'.isdecimal())print('一二三四零壹貳叁肆伍陸柒ⅠⅡⅢⅣⅤⅰⅱⅲⅳ'.isnumeric())print('①②③④⑴⑵⑶⑷????㈠㈡㈢㈣㈤'.isnumeric())開發(fā)流程圖輸出密碼不能低于8位foriteminpasswordTrue輸入注冊密碼password結(jié)束False開始初始化安全等級字典初始化等級標(biāo)志列表輸出密碼安全等級len(password)<8True小寫字母Level[0]=1True大寫字母FalseLevel[1]=1數(shù)字FalseLevel[2]=1FalseLevel[3]=1len(password)>=10Level[4]=1False計算安全得分獲取密碼等級TrueTrue個人存款計算器——not邏輯運(yùn)算符——嵌套布局的應(yīng)用銀行起源本課任務(wù)本課任務(wù)

編寫一個程序,可以計算個人活期存款的利息:年利率為5%;起存日期自動獲取當(dāng)前日期;取款日期需要用戶填寫,并且要進(jìn)行輸入驗(yàn)證;輸入存入金額需要驗(yàn)證是否為數(shù)值型字符串,然后根據(jù)存款時間計算利息和本息?;钇诶⒂嬎愎酱嫒虢痤~×存款天數(shù)×年利率/360活期利息計算公式(1年內(nèi))(存入金額+年利息)×(存款天數(shù)-整年天數(shù))×年利率/360活期利息計算公式(1年以上)not邏輯運(yùn)算符money=input("存入金額:")ifnotmoney.isdigit():print('輸入非數(shù)字字符,請重新輸入!')TruenotFalseTruenotFalsenotin關(guān)鍵字num=input("請輸入5位數(shù)字密碼:")password=['11111','22222','33333','44444','55555']ifnumnotinpassword:print("輸入非法!!")try...except語句可能產(chǎn)生異常的代碼try:處理結(jié)果except:time模塊的兩個方法strptime()方法time.strptime(string[,format])時間字符串格式化字符串time模塊的兩個方法importtimeprint(time.strptime('2020-05-0219:50:20','%Y-%m-%d%H:%M:%S'))time.struct_time(tm_year=2020,tm_mon=5,tm_mday=2,tm_hour=19,tm_min=50,tm_sec=20,tm_wday=5,tm_yday=123,tm_isdst=-1)time模塊的兩個方法mktime()方法time.mktime(t)結(jié)構(gòu)化的時間或者完整的9位元組元素time模塊的兩個方法importtimeprint(time.mktime((2021,8,20,0,0,0,0,0,0)))print(time.mktime((2021,12,30,12,12,12,0,0,0)))1629388800.01640837532.0停車場收費(fèi)系統(tǒng)——嵌套if…else語句——嵌套布局的應(yīng)用停車場示意圖本課任務(wù)本課任務(wù)

陽林停車場停車按月租車輛和臨時停車兩種方式收費(fèi),月租車輛每次進(jìn)出免費(fèi);臨時停車12分鐘內(nèi)免費(fèi),12分鐘~1小時收費(fèi)5元。1小時后每小時按3元收費(fèi),不滿1小時按1小時計算。輸入停車時間(小時),計算停車費(fèi)用。嵌套if...else語句格式開發(fā)流程圖輸出:免費(fèi)輸出:免費(fèi)是否為長租車輛Truestp<0.2True停車費(fèi):5元False0.2<=stp<=1True結(jié)束輸入車牌號False開始輸出停車費(fèi)False輸入停車時間stp停車時間取整數(shù)據(jù)分解——for循環(huán)語句——嵌套布局的應(yīng)用本課任務(wù)本課任務(wù)

編寫一個程序,可以從輸入的字符串中分別對數(shù)字、英文大小寫字母、英文標(biāo)點(diǎn)符號(基礎(chǔ)ASCII碼中除數(shù)字和字母以外的)和漢字等其他字符(字符Unicode編碼值為256以上的)進(jìn)行提取,然后分別輸出。for循環(huán)語句for迭代變量in對象:

循環(huán)體一個Tab或4個空格for語句執(zhí)行流程圖取下一項(xiàng)序列中是否有項(xiàng)有沒有循環(huán)體開發(fā)流程圖輸出提取的各種數(shù)據(jù)foritemindataTrueFalse結(jié)束輸入分解內(nèi)容初始化變量保存到數(shù)字提取變量開始如果是數(shù)字False如果是大小寫字母Falseeliford(item)<128保存到字母提取變量保存到標(biāo)點(diǎn)提取變量保存到其他提取變量TrueTrue程序安裝進(jìn)度條——在for循環(huán)中使用range()函數(shù)——嵌套布局的應(yīng)用進(jìn)度條展示本課任務(wù)本課任務(wù)

編寫一個程序,通過管道符“|”符號顯示安裝進(jìn)度,并用百分比顯示安裝比例,可以通過變量控制安裝格數(shù)和進(jìn)度的顯示。通過索引遍歷對象string='千秋功業(yè)'foriinrange(len(string)):print(string[i])千秋功業(yè)range()函數(shù)range(start,end,step)計數(shù)的起始值計數(shù)的結(jié)束值步長

在使用range()函數(shù)時,如果只有一個參數(shù),表示指定的是end;如果是兩個參數(shù),則表示指定的是start和end;只有三個參數(shù)都存在時,最后一個才表示步長。range()函數(shù)foriinrange(1,10,2):print(i,end='')13579result=1foriinrange(1,21):result*=(i+1)print("1*2*3*……*20="+str(result))1*2*3*……*20=51090942171709440000開發(fā)流程圖循環(huán)100次False結(jié)束設(shè)置進(jìn)度塊大小導(dǎo)入sys和time模塊光標(biāo)到行首開始輸出進(jìn)度和百分比刷新輸出延遲1秒鐘True猜年齡——應(yīng)用for…else語句——嵌套布局的應(yīng)用本課任務(wù)本課任務(wù)

編寫一個程序,指定一個年齡,讓用戶猜,如果用戶競猜成功,提示“真蝎虎!你贏了。”并結(jié)束程序;如果競猜年齡大于指定年齡,提示“咋整地,大了!”,否則提示“真磕磣,小了!”;如果8次都沒有競猜成功,提示“老趕,你輸了!”,并結(jié)束程序。學(xué)習(xí)內(nèi)容for…else語句for…else語句for<迭代變量>in<遍歷結(jié)構(gòu)>: <語句塊1>else: <語句塊2>循環(huán)正常結(jié)束執(zhí)行else語句中途退出循環(huán)執(zhí)行else語句包含break或returnfor…else語句流程圖for循環(huán)循環(huán)正常結(jié)束else:break退出循環(huán)示例

判斷用戶是否為注冊用戶,有5次輸入機(jī)會。如果用戶輸入正確提示“用戶輸入正確”,退出程序;否則,提示用戶輸入錯誤及剩余輸入機(jī)會,讓用戶繼續(xù)輸入;輸入錯誤5次后結(jié)束循環(huán),執(zhí)行else后面的語句,提示“用戶輸入錯誤超過5次,退出系統(tǒng)!”。注冊用戶輸入判斷流程圖密碼輸錯少于5次False結(jié)束初始化用戶列表list輸入用戶名稱user開始提示用戶輸入錯誤提示輸入正確Trueifuserinlist:提示輸入錯誤超過5次,退出系統(tǒng)else:FalseTrue開發(fā)流程圖競猜次數(shù)少于8次False結(jié)束初始化年齡age=20輸入競猜年齡guess開始輸出:真磕磣,小了輸出:真蝎虎!你贏了Trueguess==age輸出:老趕,你輸了else:FalseTrueguess>age輸出:咋整的,大了TrueFalse總結(jié)for…else語句100以內(nèi)的素數(shù)——for表達(dá)式——嵌套布局的應(yīng)用素數(shù)

一個大于1的自然數(shù),除了1和它本身外,不能被其他自然數(shù)整除。質(zhì)數(shù)本課任務(wù)本課任務(wù)

利用for表達(dá)式計算1~100之間的素數(shù)。素數(shù)是只能整除1和自身的數(shù),所以判斷一個數(shù)是不是素數(shù),要看這個數(shù)除以所有比它小的數(shù),除了1和自身如果還有別的數(shù)能被整除,那這個數(shù)就不是素數(shù)。[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97]學(xué)習(xí)內(nèi)容for表達(dá)式for表達(dá)式[表達(dá)式for迭代變量in可迭代對象[if條件表達(dá)式]]列表推導(dǎo)式for迭代變量in可迭代對象[if條件表達(dá)式]表達(dá)式new=[i*2foriinrange(10)]print(new)[0,2,4,6,8,10,12,14,16,18]開發(fā)流程圖i<=100False結(jié)束初始化存儲素數(shù)的列表prime開始Truecontinuei=1i=2取模列表中不存在0添加i到prime列表添加i到prime列表False輸出所有素數(shù)FalseTrueTrueTrueFalse總結(jié)for表達(dá)式密碼輸錯6次賬戶凍結(jié)——while循環(huán)語句——嵌套布局的應(yīng)用銀行卡密碼本課任務(wù)本課任務(wù)

編寫一個程序,輸入6位密碼(6位密碼為555555),密碼正確后提示“密碼輸入正確,正進(jìn)入系統(tǒng)!”;輸入錯誤,輸出“密碼輸入錯誤,您已經(jīng)輸入*次”,密碼輸錯6次后輸出“您的卡將被鎖死,請和發(fā)卡行聯(lián)系”。學(xué)習(xí)內(nèi)容while語句while語句while條件表達(dá)式:

循環(huán)體一個Tab或4個空格while語句執(zhí)行流程條件表達(dá)式TrueFalse循環(huán)體開發(fā)流程圖i<6True結(jié)束初始化變量password和i開始True提示“密碼錯誤”num==passwordi+=1i=8提示“錯誤超過6次”輸入密碼numi==6提示“密碼正確”FalseFalseTrueFalse總結(jié)while語句回文數(shù)——在循環(huán)中應(yīng)用break語句——嵌套布局的應(yīng)用回文數(shù)正讀倒讀都一樣的整數(shù)123211210123456789112233445566778899本課任務(wù)本課任務(wù)

編寫一個程序,要求用戶輸入一個數(shù)字,判斷它是不是回文數(shù)。如果是回文數(shù),輸出“是回文數(shù)”;如果不是回文數(shù),輸出“不是回文數(shù)”?;匚臄?shù)123454321學(xué)習(xí)內(nèi)容break語句break語句while條件表達(dá)式1:

執(zhí)行代碼if條件表達(dá)式2:breakfor迭代變量in對象:if條件表達(dá)式:break開發(fā)流程圖x<yTrue結(jié)束設(shè)置右側(cè)對稱數(shù)字索引y設(shè)置左側(cè)對稱數(shù)字索引xTrue提示“不是回文數(shù)”palind=True設(shè)置palind為Falsebreak(跳出循環(huán))ifnum[x]!=num[y]提示“是回文數(shù)”FalseFalse開始用戶輸入數(shù)字num設(shè)置回文數(shù)標(biāo)志palindTruex+=1y-=1False總結(jié)break語句成語填填樂——在循環(huán)語句中應(yīng)用continue語句——嵌套布局的應(yīng)用成語填空()花()門畫龍點(diǎn)()本課任務(wù)本課任務(wù)

編寫一個小游戲,隨機(jī)輸出一條包含一個空格的成語,填寫答案并回車可以判斷是否正確。正確加2分,輸出“正確,你真棒!”;錯誤減2分,輸出“錯了,正確答案:”;什么也不填忽略本成語,輸出“過”。本游戲一共8關(guān),游戲完成輸出成績,選手初始分?jǐn)?shù)為20分。___風(fēng)化雨輸入:春正確,你真棒!白手___家輸入:起正確,你真棒!___以為是輸入:自正確,你真棒!瓜___李下輸入:田正確,你真棒!人來___往輸入:人正確,你真棒!選手最后得分:32直接填寫答案,回車進(jìn)入下一關(guān)。什么也不填忽略本成語!!安___樂業(yè)輸入:居正確,你真棒!一事無___輸入:求錯了,正確答案:成馬到___功輸入:過!紅男綠___輸入:女正確,你真棒!學(xué)習(xí)內(nèi)容continue語句continue語句while條件表達(dá)式1:

執(zhí)行代碼if條件表達(dá)式2:continuefor迭代變量in對象:if條件表達(dá)式:continue練習(xí)八名同學(xué)的姓名如下:

小東、小南、小西、小北、小春、小夏、小秋、小冬八人約定去圖書館看書,小西和小夏臨時有事不參加了,輸出去圖書館看書的六名同學(xué)的姓名。總結(jié)continue語句世界城市時間同步——whileTrue循環(huán)——嵌套布局的應(yīng)用時區(qū)24個時區(qū)零時區(qū)東一區(qū)~東十二區(qū)西一區(qū)~西十二區(qū)時區(qū)北京東八區(qū)8莫斯科東三區(qū)3city={"北京":8,"巴黎":1,"曼谷":7,"莫斯科":3,"倫敦":0,"開羅":2,"紐約":-5,"溫哥華":-8}本課任務(wù)本課任務(wù)

結(jié)合上面的時區(qū)知識和字典city,請編寫一個程序,以北京時間為基準(zhǔn),用戶輸入字典city中的城市,可以實(shí)時同步顯示該城市的日期和時間。時區(qū)city={"北京":8,"巴黎":1,"曼谷":7,"莫斯科":3,"倫敦":0,"開羅":2,"紐約":-5,"溫哥華":-8}巴黎時間北京時間相差小時數(shù)學(xué)習(xí)內(nèi)容whileTrue循環(huán)while和whileTruewhile條件表達(dá)式:

循環(huán)體whileTrue:

循環(huán)體開發(fā)流程圖new=nothingTrue結(jié)束初始化城市字典city導(dǎo)入sys和time模塊時差計算hours開始根據(jù)時差計算所查城市時間動態(tài)刷新輸出時間延遲0.5秒輸出False輸出標(biāo)題用戶輸入查詢城市str在字典中查找輸入城市new輸出“城市不存在”whileTrue總結(jié)whileTrue循環(huán)輸入密碼和確認(rèn)密碼——在循環(huán)中使用input語句——嵌套布局的應(yīng)用設(shè)置密碼本課任務(wù)本課任務(wù)

編寫一個程序,判斷輸入密碼和確認(rèn)密碼是否一致,如果密碼和確認(rèn)密碼一致,則提示“密碼確認(rèn)正確”并退出系統(tǒng),否則重新輸入密碼和確認(rèn)密碼。當(dāng)用戶輸入“q”或“Q”時,退出系統(tǒng)。學(xué)習(xí)內(nèi)容在whileTrue循環(huán)中使用input()函數(shù)使用格式whileTrue:

變量名=input("提示文字")

if條件表達(dá)式:

break開發(fā)流程圖whileTrueFalse結(jié)束開始輸入“q”或“Q”break輸出“密碼輸入不一致”輸入注冊密碼oneone=two輸入確認(rèn)密碼twoTrueFalseTrue輸出“密碼確認(rèn)正確!”break總結(jié)在whileTrue循環(huán)中使用input()函數(shù)生肖查詢——退出while循環(huán)的5種方法——嵌套布局的應(yīng)用十二生肖本課任務(wù)本課任務(wù)

編寫一個程序,實(shí)現(xiàn)循環(huán)輸入4位出生年份,判斷用戶的屬相;如果用戶直接按下回車鍵,就退出系統(tǒng)。(提示,1990年為子年,生肖12年更替一次)。學(xué)習(xí)內(nèi)容退出while循環(huán)的方法退出while循環(huán)的5種方法在循環(huán)中計數(shù),達(dá)到指定值退出循環(huán)設(shè)置指定輸入字符退出循環(huán)設(shè)置標(biāo)志通過break退出循環(huán)回車鍵結(jié)束循環(huán)開發(fā)流程圖whileactiveFalse結(jié)束開始輸入年份active=FalsecontinueTrue初始化屬相列表zodiac初始化農(nóng)歷年份列表lunar初始化循環(huán)標(biāo)志位active直接回車TrueFalse計算年份余數(shù)輸出屬相與農(nóng)歷年份總結(jié)退出while循環(huán)的5種方法虛擬減肥跑步機(jī)——while語句綜合應(yīng)用跑步機(jī)卡路里計算公式消耗熱量=體重(kg)×運(yùn)動時間(小時)×運(yùn)動系數(shù)kk=30÷速度(分鐘/400米)6×

1000÷

60速度是6千米/小時400÷

(6×

1000÷

60)30÷

(400÷

(6×

1000÷

60))每分鐘多少米400米需要多少分鐘k的值本課任務(wù)本課任務(wù)

編寫一個虛擬減肥跑步機(jī)程序,運(yùn)動模式為倒計時模式,即輸入體重、運(yùn)動速度和運(yùn)動時間后,可以實(shí)時顯示剩余運(yùn)動時間、運(yùn)動距離和消耗熱量。消耗熱量=體重(kg)×運(yùn)動時間(小時)×運(yùn)動系數(shù)k。k=30÷速度(分鐘/400米)。輸入驗(yàn)證減肥重量浮點(diǎn)數(shù)2~50年齡整數(shù)8~100輸入驗(yàn)證學(xué)習(xí)內(nèi)容format()方法format()方法{[index][:[[fill]align][sign][#][width][.precision][type]]}str.format(args)定義顯示的模板要格式化的內(nèi)容對字符串進(jìn)行格式化操作開發(fā)流程圖結(jié)束開始導(dǎo)入sys和time模塊輸出軟件標(biāo)題減肥重量輸入驗(yàn)證程序年齡輸入驗(yàn)證程序計算減肥天數(shù)計算運(yùn)動心率輸入體重、運(yùn)動速度與運(yùn)動時間轉(zhuǎn)換運(yùn)動時間為秒數(shù)設(shè)置已經(jīng)運(yùn)動的時間虛擬跑步倒計時程序總結(jié)驗(yàn)證用戶輸入和format()方法動態(tài)乘法表——雙層while嵌套循環(huán)語句九九乘法表本課任務(wù)本課任務(wù)

編寫一個程序,輸出動態(tài)乘法表。通過輸入乘法表的起始值和結(jié)束值,輸出自起始值開始至結(jié)束值為止的乘法表。學(xué)習(xí)內(nèi)容嵌套的while語句嵌套while語句while條件表達(dá)式1:while條件表達(dá)式2:

循環(huán)體2

循環(huán)體1while條件表達(dá)式:for迭代變量in對象:for循環(huán)體while循環(huán)體開發(fā)流程圖i<y+1False結(jié)束開始j=x輸出單個乘法口訣j+=1True輸入起始值x輸入結(jié)束值y設(shè)置i的值為xj<=iTrueFalse換行i+=1總結(jié)嵌套的while語句運(yùn)動計劃自動提醒——復(fù)雜whileTrue循環(huán)嵌套語句運(yùn)動本課任務(wù)本課任務(wù)

編寫一個程序,實(shí)現(xiàn)運(yùn)動計劃自動提醒,設(shè)定運(yùn)動計劃的日期和時間(需驗(yàn)證日期格式),可以倒計時提醒。計劃時間一到就提醒用戶“運(yùn)動時間已到,該運(yùn)動去了!!”,同時蜂鳴器開啟蜂鳴提醒。輸入驗(yàn)證學(xué)習(xí)內(nèi)容嵌套whileTrue循環(huán)開發(fā)流程圖結(jié)束開始輸入計劃日期驗(yàn)證輸入計劃時間驗(yàn)證運(yùn)動計劃時間驗(yàn)證運(yùn)動計劃倒計時運(yùn)動提醒總結(jié)嵌套whileTrue循環(huán)語句有多少個“1”——雙層for循環(huán)嵌套語句本課任務(wù)本課任務(wù)

編寫一個程序,判斷1000以內(nèi)的整數(shù),即1,2,3,…,1000中,數(shù)字“1”在這些數(shù)中共出現(xiàn)了多少次。如“911”中數(shù)字“1”出現(xiàn)了2次。學(xué)習(xí)內(nèi)容嵌套的for語句嵌套for語句for迭代變量1

in對象1:for迭代變量2

in對象2:

循環(huán)體2

循環(huán)體1開發(fā)流程圖在1~1000中循環(huán)False結(jié)束開始i+=1輸出iTrue初始化i=0按位讀取某個數(shù)TrueFalseTrue是否為1False總結(jié)嵌套的for語句企業(yè)社會信用代碼——多層for循環(huán)嵌套語句統(tǒng)一社會信用代碼統(tǒng)一社會信用代碼本課任務(wù)本課任務(wù)

請編寫一個程序,根據(jù)企業(yè)社會信用代碼,將企業(yè)的登記管理部門、機(jī)構(gòu)類別和登記管理機(jī)關(guān)行政區(qū)域分別輸出。如911101087975*****的企業(yè)社會信用代碼,從左往右9代表工商,1代表企業(yè),11代表北京,01代表北京市區(qū),08代表海淀區(qū)。學(xué)習(xí)內(nèi)容多層嵌套的for語句多層嵌套for語句for迭代變量1

in對象1:for迭代變量2

in對象2:for迭代變量3

in對象3:

循環(huán)體3……

循環(huán)體2

循環(huán)體1開發(fā)流程圖遍歷info列表False結(jié)束建立信用代碼前2位判斷列表main初始化企業(yè)信息和空列表new分解企業(yè)名稱和信用代碼到new列表開始輸出企業(yè)信用代碼判斷登記管理部門和機(jī)構(gòu)類別判斷企業(yè)省、市、區(qū)等信息True建立省、市、區(qū)編碼字典分割企業(yè)信息到info列表遍歷new列表TrueFalse主業(yè)務(wù)流程圖開發(fā)流程圖遍歷main列表輸出登記管理部門breakTrue匹配第一位代碼FalseTrue遍歷機(jī)構(gòu)類別輸出機(jī)構(gòu)類別True匹配第二位代碼TrueFalse判斷登記管理部門和機(jī)構(gòu)類別開發(fā)流程圖遍歷province字典False輸出省份信息breakTrue匹配3~4位代碼FalseTrue遍歷city字典輸出城市信息True匹配3~6位代碼True遍歷district字典輸出區(qū)縣信息和企業(yè)名稱True匹配3~8位代碼TrueFalse判斷企業(yè)省、市、區(qū)等信息總結(jié)多層嵌套的for語句運(yùn)動競賽——4層for循環(huán)嵌套語句運(yùn)動競賽說明運(yùn)動競賽說明紅隊藍(lán)隊綠隊黃隊

每隊派出8名選手,每個隊為運(yùn)動員建立4位編號,如1001,2003等,紅隊、藍(lán)隊、綠隊和黃隊隊員編號分別以數(shù)字1、2、3、4開頭。每個項(xiàng)目前4名被記入成績并獲得積分,積分分別為8、5、3和1分。每項(xiàng)活動成績以參賽人員的編號發(fā)布。本課任務(wù)本課任務(wù)

編寫一個程序,根據(jù)最后運(yùn)動競賽成績,計算各隊獲得的總積分,按降序發(fā)布各隊運(yùn)動競賽成績排名。程序分析count=[8,5,3,1]學(xué)習(xí)內(nèi)容4層嵌套for語句開發(fā)流程圖結(jié)束開始建立競賽隊伍字典和成績字典建立各隊積分字典建立排名對應(yīng)分?jǐn)?shù)列表各隊積分統(tǒng)計輸出各隊積分排名標(biāo)題對各隊積分降序排列初始化排名變量i編號i的值加1輸出各隊排名與成績主業(yè)務(wù)流程圖遍歷積分字典TrueFalse開發(fā)流程圖遍歷成績字典添加積分到積分字典True遍歷項(xiàng)目成績FalseTrue遍歷參賽隊員編號在積分字典查找對應(yīng)隊伍的積分True編號是否一致TrueFalse積分統(tǒng)計遍歷參賽隊伍字典TrueFalseFalse總結(jié)4層嵌套的for語句IMDb電影資料庫——打開和讀取文件互聯(lián)網(wǎng)電影資料庫IMDb演員片長內(nèi)容介紹分級評論250部最佳電影本課任務(wù)本課任務(wù)

請編寫一個程序,讀取IMDb250.txt文件,輸出250部最佳電影的評分信息。輸入電影名稱(部分名稱即可),查看電影是否包含在最佳250部電影里,如果包含,則輸出相關(guān)電影的信息,如果不包含,則提示該電影不存在。學(xué)習(xí)內(nèi)容打開和讀取文件學(xué)習(xí)內(nèi)容open()方法readline()方法close()方法open()方法file=open(filename[,mode[,buffering]])指定文件的打開模式創(chuàng)建或打開的文件名稱打開的文件對象指定讀寫文件的緩沖模式文件打開模式以只讀模式打開文件。文件的指針將會放在文件的開頭r以二進(jìn)制格式打開文件,并且采用只讀模式rb可以讀取文件內(nèi)容,也可以寫入新的內(nèi)容覆蓋原有內(nèi)容r+以二進(jìn)制格式打開文件,并且采用讀寫模式rb+以只寫模式打開文件w先清空原有內(nèi)容,對這個空文件有讀寫權(quán)限w+以讀寫模式打開文件,在文件最后追加內(nèi)容a+readline()方法file.readline()打開的文件對象每次讀取一行數(shù)據(jù)close()方法file.close()打開的文件對象總結(jié)open()方法readline()方法close()方法人物猜猜猜——文件操作的常用方法本課任務(wù)本課任務(wù)

編寫一個程序,讓用戶先隨機(jī)選出一部小說。然后隨機(jī)輸出6個人物,讓用戶判斷是否為該部小說中的人物,回車確認(rèn)是,輸入任意鍵回車確認(rèn)不是。判斷正確加三分,判斷錯誤減三分,最后輸出選手得分(選手起始分為30分)。小說:三國演義判斷人物是否本部小說的人物?;剀嚧_認(rèn)"是",輸入任意鍵確認(rèn)"不是"盧俊義n答對了,加三分!當(dāng)前分?jǐn)?shù):33魯智深

答錯了,減三分!當(dāng)前分?jǐn)?shù):30燕青n答對了,加三分!當(dāng)前分?jǐn)?shù):33諸葛亮答對了,加三分!當(dāng)前分?jǐn)?shù):36周瑜

答對了,加三分!當(dāng)前分?jǐn)?shù):39呂布

答對了,加三分!當(dāng)前分?jǐn)?shù):42競猜最高分為48分,你的最后分?jǐn)?shù):42學(xué)習(xí)內(nèi)容操作文件的常用方法文件讀取操作read()方法readlines()方法read()方法file.read([size])指定要讀取文件內(nèi)容的字符數(shù)打開的文件對象讀取文件的全部或部分內(nèi)容readlines()方法file.readlines()打開的文件對象返回一個列表,列表中每個元素為文件中的一行數(shù)據(jù)獲取或移動文件指針位置tell()方法seek()方法tell()方法file.tell()打開的文件對象返回文件指針的當(dāng)前位置一個漢字=兩個字節(jié)GBK一個漢字=3個字節(jié)UTF-8seek()方法file.seek(offset[,whence])打開的文件對象將文件的指針移動到新的位置,位置通過字節(jié)數(shù)進(jìn)行指定指定移動的字節(jié)個數(shù)指定從什么位置開始計算開發(fā)流程圖i<6False結(jié)束分別初始化novel(小說名稱)、acter(人物列表)和count(積分)dict_novel存儲小說和人物,actall存儲競猜人物隨機(jī)產(chǎn)生競猜人物開始積分加三分:count+=3輸出“答對了,加三分!”True分別輸出競猜小說名稱和鍵盤操作說明直接回車:ifnotnum:輸入回車或者任意鍵回車是否在人物列表積分減三分:count-=3輸出“答錯了,減三分!”是否在人物列表輸出最后得分TrueTrueTrueFalseFalseFalse總結(jié)read()方法readlines()方法tell()方法seek()方法隨機(jī)出題程序——寫入內(nèi)容到指定文件本課任務(wù)本課任務(wù)

請編寫一個程序,隨機(jī)出20道100以內(nèi)的加減法計算題,然后分別保存為不帶答案(math.txt)和帶答案(key.txt)的文件。(提示:整型變量要轉(zhuǎn)換為字符串,再用“+”輸出算式)。學(xué)習(xí)內(nèi)容向文件中寫入內(nèi)容withas語句write()方法file.write(string)要寫入的字符串打開的文件對象withas語句with表達(dá)式[astarget]:

語句塊總結(jié)write()方法文檔目錄修改——使用with語句處理文件目錄簡介章目錄二級目錄三級目錄本課任務(wù)本課任務(wù)

請編寫一個程序,實(shí)現(xiàn)目錄內(nèi)容的自動修改。要求把目錄的二級標(biāo)題空2個空格,三級標(biāo)題空4個空格進(jìn)行排版,同時去掉目錄后的頁碼。程序分析使用split()方法分解每行數(shù)據(jù)將分解的第一個元素使用count()方法統(tǒng)計“.”的數(shù)量為0,是章目錄;為1,是二級標(biāo)題;為2,是三級標(biāo)題學(xué)習(xí)內(nèi)容with語句with語句withexpressionastarget:with-body指定一個表達(dá)式指定一個變量指定with語句體總結(jié)with語句人物關(guān)系圈——規(guī)避文件讀取中的陷阱朋友圈家人親戚同學(xué)同事本課任務(wù)本課任務(wù)

編寫一個程序,可以實(shí)現(xiàn)對關(guān)系人的關(guān)系圈(親屬和朋友)的簡單管理。如添加關(guān)系人的姓名、關(guān)系、電話和距離。輸出關(guān)系人的朋友圈的關(guān)系圖。學(xué)習(xí)內(nèi)容操作文件時容易出現(xiàn)的錯誤打開一個不存在的文件os.path模塊exists()函數(shù)讀取不同編碼格式文件采用GBK編碼的文件采用UTF-8編碼的文件在打開文件時指定文件的格式以二進(jìn)制打開文件,然后對讀取的內(nèi)容進(jìn)行解碼isinstance()函數(shù)總結(jié)操作文件時容易出現(xiàn)的錯誤統(tǒng)計隨機(jī)生成的IP地址——os模塊及os.pathIP地址編號家庭住址xxx.xxx.xxx.xxx0~255之間的整數(shù)本課任務(wù)本課任務(wù)

編寫一個程序,生成一個大文件ips.txt,要求500行,每行隨機(jī)為/18段的IP。讀取ips.txt文件統(tǒng)計這個文件中出現(xiàn)頻率排前10的IP。學(xué)習(xí)內(nèi)容os模塊和os.path子模塊os模塊中一些操作目錄的函數(shù)返回當(dāng)前的工作目錄getcwd()返回指定路徑下的文件和目錄信息listdir(path)創(chuàng)建目錄mkdir(path[,mode])創(chuàng)建多級目錄makedirs(path1/path2……[,mode])刪除目錄rmdir(path)刪除多級目錄removedirs(path1/path2……)將path設(shè)置為當(dāng)前工作目錄chdir(path)os.path模塊中一些操作目錄的函數(shù)用于獲取文件或目錄的絕對路徑abspath(path)用于判斷目錄或者文件是否存在exists(path)將目錄與目錄或者文件名拼接起來join(path,name)分離文件名和擴(kuò)展名splitext()從一個目錄中提取文件名basename(path)從一個路徑中提取文件路徑,不包括文件名dirname(path)用于判斷是否為路徑isdir(path)os模塊和os.path模塊中的三個函數(shù)getcwd()函數(shù)abspath()函數(shù)join()函數(shù)os模塊的getcwd()函數(shù)os.getcwd()獲取當(dāng)前工作目錄os.path模塊的abspath()函數(shù)os.path.abspath(path)要獲取絕對路徑的相對路徑獲取一個文件的絕對路徑os.path模塊的join()函數(shù)os.path.join(path1[,path2[,……]])要拼接的文件路徑將兩個或者多個路徑拼接組成一個新的路徑總結(jié)os模塊和os.path子模塊自動創(chuàng)建日期文件——常用目錄操作本課任務(wù)本課任務(wù)

編寫一個程序,在程序相對路徑下創(chuàng)建“mingri”文件夾,然后在該文件夾下批量創(chuàng)建20個以日期+時間(到秒)+序號(0~19)的文件名稱,將字符串“gobigorgohome”保存到每個文件,然后讀取“mingri”文件夾下的所有文件名稱并輸出。學(xué)習(xí)內(nèi)容常用目錄的操作常用目錄操作判斷目錄是否存在創(chuàng)建目錄判斷目錄是否存在os.path.exists(path)os.path模塊提供的exists()函數(shù)要判斷的目錄創(chuàng)建目錄創(chuàng)建一級目錄創(chuàng)建多級目錄創(chuàng)建一級目錄os.mkdir(path,mode=0777)指定要創(chuàng)建的目錄os模塊提供的mkdir()函數(shù)指定數(shù)值模式創(chuàng)建多級目錄os.makedirs(name,mode=0777)os模塊提供的makedirs()函數(shù)指定要創(chuàng)建的目錄指定數(shù)值模式總結(jié)判斷目錄是否存在創(chuàng)建目錄照片按日期批量歸檔——文件高級操作本課任務(wù)本課任務(wù)

編寫一個程序,自動按照照片拍攝日期建立對應(yīng)的年、月、日的文件夾。學(xué)習(xí)內(nèi)容文件的高級操作文件的高級操作對文件是否有指定的訪問權(quán)限access(path,accessmode)修改path指定文件的訪問權(quán)限chmod(path,mode)刪除path指定的文件路徑remove(path)將文件或目錄src重命名為dstrename(src,dst)返回path指定文件的信息stat(path)使用關(guān)聯(lián)的應(yīng)用程序打開path指定的文件startfile(path[,operation])文件的高級操作刪除文件重命名文件和目錄獲取文件基本信息刪除文件os.remove(path)os模塊提供的remove()函數(shù)要刪除的文件路徑重命名文件和目錄os.rename(src,dst)指定要重命名的目錄或文件os模塊提供的rename()函數(shù)指定重命名后的目錄或文件獲取文件基本信息os.stat(path)os模塊提供的stat()函數(shù)要獲取文件信息的文件路徑文件的高級操作保護(hù)模式st_mode設(shè)備名st_dev索引號st_ino用戶IDst_uid鏈接數(shù)st_nlink組IDst_gid文件大小st_size最后一次訪問時間st_atime最后一次修改時間st_mtime最后一次狀態(tài)變化的時間st_ctime總結(jié)刪除文件重命名文件和目錄獲取

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論