版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
任務(wù)3:系統(tǒng)界面設(shè)計(jì)與實(shí)現(xiàn)Python程序設(shè)計(jì)1、任務(wù)描述目錄2、技術(shù)準(zhǔn)備Python程序設(shè)計(jì)3、任務(wù)實(shí)施1、任務(wù)描述學(xué)生信息管理系統(tǒng)需要提供相應(yīng)的操作界面來(lái)讓用戶(hù)選擇執(zhí)行相應(yīng)的功能。本任務(wù)主要完成學(xué)生信息管理系統(tǒng)界面的設(shè)計(jì)與實(shí)現(xiàn)。完成本任務(wù)需要了解和掌握Python中三種基本控制結(jié)構(gòu)的使用。2.1順序結(jié)構(gòu)技術(shù)準(zhǔn)備2.2選擇結(jié)構(gòu)Python程序設(shè)計(jì)2.3循環(huán)結(jié)構(gòu)2.4編碼規(guī)范2.1順序結(jié)構(gòu)順序結(jié)構(gòu)是程序執(zhí)行流程的默認(rèn)結(jié)構(gòu),也是程序的基本結(jié)構(gòu)。在順序結(jié)構(gòu)中程序按照語(yǔ)句出現(xiàn)的先后次序依次執(zhí)行。其執(zhí)行流程如下所示:
語(yǔ)句1語(yǔ)句22.1順序結(jié)構(gòu)1、賦值語(yǔ)句Python中利用賦值語(yǔ)句給變量賦值時(shí)可以有以下幾種不同形式。(1)一次只給一個(gè)變量賦值格式:<變量名>=<表達(dá)式>功能:將表達(dá)式的值賦給指定變量。此種方式也支持復(fù)合賦值運(yùn)算符。>>>a=3+5#簡(jiǎn)單賦值語(yǔ)句>>>a8>>>a+=5#復(fù)合賦值語(yǔ)句>>>a132.1順序結(jié)構(gòu)(2)一次給多個(gè)變量賦不同值格式:<變量1>,<變量2>,…,<變量n>=<表達(dá)式1>,<表達(dá)式2>,…,<表達(dá)式n>功能:將表達(dá)式1、表達(dá)式2、……表達(dá)式n的值分別賦給變量1、變量2、……變量n。>>>x,y=1,2#一次給多個(gè)變量賦不同值>>>x1>>>y22.1順序結(jié)構(gòu)(3)一次給多個(gè)變量賦相同值格式:<變量1>=<變量2>=…=<變量n>=<表達(dá)式>功能:將表達(dá)式的值分別賦給變量1、變量2、……變量n。>>>x=y=10#一次給多個(gè)變量賦相同值>>>x10>>>y102.1順序結(jié)構(gòu)2.輸入Python中通過(guò)內(nèi)置函數(shù)input()實(shí)現(xiàn)數(shù)據(jù)的輸入。格式:input([提示信息])功能:用來(lái)接收用戶(hù)鍵盤(pán)輸入,以“Enter”鍵結(jié)束輸入,函數(shù)的返回值是字符串??蛇x項(xiàng)[提示信息]為字符串?dāng)?shù)據(jù),用于對(duì)用戶(hù)輸入做簡(jiǎn)短的提示。>>>x=input('enteranumber:')enteranumber:5#從鍵盤(pán)上輸入5>>>x'5'>>>type(x)#返回類(lèi)型是字符串<class'str'>2.1順序結(jié)構(gòu)提示:在使用input()函數(shù)時(shí),不論從鍵盤(pán)上輸入的是何內(nèi)容,都作為字符串返回,如果需要其他類(lèi)型數(shù)據(jù),可通過(guò)類(lèi)型轉(zhuǎn)換函數(shù)來(lái)轉(zhuǎn)換。>>>x=int(input('enteranumber:'))#將輸入數(shù)據(jù)轉(zhuǎn)換成整數(shù)enteranumber:5>>>x5>>>type(x)#此時(shí)x是整型數(shù)<class'int'>>>>x=float(input('enteranumber:'))#將輸入數(shù)據(jù)轉(zhuǎn)換成浮點(diǎn)數(shù)entranumber:5>>>x5.0>>>type(x)#此時(shí)x是浮點(diǎn)數(shù)<class'float'>2.1順序結(jié)構(gòu)3.輸出Python中用內(nèi)置函數(shù)print()進(jìn)行輸出。格式:print([輸出列表][,sep=''][,end='\n'])功能:輸出指定的內(nèi)容。說(shuō)明:(1)參數(shù)輸出列表為要輸出的內(nèi)容,多個(gè)輸出項(xiàng)之間用逗號(hào)分隔。(2)參數(shù)sep用于指定輸出內(nèi)容之間的分隔符,如果沒(méi)有指定,默認(rèn)為空格。(3)參數(shù)end用于指定結(jié)束標(biāo)志符,默認(rèn)為換行符“\n”。(4)交互式模式下也可直接輸入表達(dá)式然后按“Enter”鍵就可輸出相應(yīng)的內(nèi)容。2.1順序結(jié)構(gòu)>>>print('welcometolearnPython!')#輸出一個(gè)字符串welcometolearnPython!>>>print(3)#輸出一個(gè)數(shù)值常量3>>>print(3+4)#輸出一個(gè)表達(dá)式7>>>print(1,2,3)#輸出多個(gè)數(shù)據(jù),默認(rèn)以空格分隔123>>>print(1,2,3,sep=',')#輸出多個(gè)數(shù)據(jù),指定分隔符為逗號(hào)1,2,3>>>3+4#交互模式下也可直接通過(guò)表達(dá)式輸出72.1順序結(jié)構(gòu)4.格式化輸出Python支持格式化輸出??捎袃煞N不同方式來(lái)實(shí)現(xiàn)格式化輸出。(1)格式符%通過(guò)格式符%來(lái)實(shí)現(xiàn)字符串格式化,使用格式如下圖所示:2.1順序結(jié)構(gòu)常用格式字符如下表所示:格式字符說(shuō)明%s字符串(采用函數(shù)str()的顯示)%r字符串(采用函數(shù)repr()的顯示)%c單個(gè)字符%d十進(jìn)制整數(shù)%i十進(jìn)制整數(shù)%o八進(jìn)制整數(shù)%x十六進(jìn)制整數(shù)%e科學(xué)記數(shù)法(用e表示)%E科學(xué)記數(shù)法(用E表示)%f、%F浮點(diǎn)數(shù)%g科學(xué)記數(shù)法(e)或浮點(diǎn)數(shù)(根據(jù)顯示長(zhǎng)度決定采用科學(xué)記數(shù)法還是浮點(diǎn)數(shù)形式)%G科學(xué)記數(shù)法(E)或浮點(diǎn)數(shù)(根據(jù)顯示長(zhǎng)度決定采用科學(xué)記數(shù)法還是浮點(diǎn)數(shù)形式)%%一個(gè)字符"%"2.1順序結(jié)構(gòu)>>>print('%s'%65)#按字符串格式輸出65>>>print('%c'%65)#按字符格式輸出A>>>print('%d'%234.45)#將234.45按整數(shù)格式輸出234>>>print('%f'%123.4567)#將123.4567按浮點(diǎn)數(shù)格式輸出123.456700>>>print('%.2f'%123.4567)#將123.4567按浮點(diǎn)數(shù)格式輸出,保留兩位小數(shù)123.462.1順序結(jié)構(gòu)>>>print('%10.2f'%123.4567)#按浮點(diǎn)數(shù)格式輸出,保留兩位小數(shù),指定最小寬度123.46#寬度不足,前面加4個(gè)空格補(bǔ)足>>>print('%010.2f'%123.4567)#指定空位補(bǔ)00000123.46>>>print('%-10.2f'%123.4567)#左對(duì)齊輸出,右邊加4個(gè)空格補(bǔ)足123.46>>>print('%-8.2f%-8.1f'%(123.456,123.456))123.46123.5#第1個(gè)數(shù)后面有2個(gè)空格,第2個(gè)數(shù)后面有3個(gè)空格>>>print('名字:%s,年齡:%d'%('王芳',23))名字:王芳,年齡:232.1順序結(jié)構(gòu)(2)format()函數(shù)除了可用格式符“%”進(jìn)行格式化輸出外,Python還提供了format()函數(shù)進(jìn)行格式化輸出。格式:字符串.format(輸出表列)功能:該函數(shù)把字符串當(dāng)成一個(gè)模板,通過(guò)傳入的參數(shù)進(jìn)行格式化,并且使用大括號(hào)“{}”作為特殊字符代替“%”。{}中的內(nèi)容用于指向傳入對(duì)象在format()中的位置(可以是數(shù)字表示的位置,也可以是關(guān)鍵字參數(shù),沒(méi)有指定時(shí)按默認(rèn)順序)。2.1順序結(jié)構(gòu)>>>print('hello{}'.format('world'))#等價(jià)于print("hello%s"%"world")helloworld>>>print('名字:{},年齡:{}'.format('王芳',23))#沒(méi)有指定位置時(shí),按默認(rèn)順序名字:王芳,年齡:23>>>print('名字:{1},年齡:{0}'.format(23,'王芳'))#設(shè)置指定位置名字:王芳,年齡:23>>>print('名字:{name},年齡:{age}'.format(age=23,name='王芳'))#設(shè)置關(guān)鍵字參數(shù)名字:王芳,年齡:232.1順序結(jié)構(gòu)通過(guò)指定位置或設(shè)置關(guān)鍵字參數(shù)的方式來(lái)確定輸出格式與輸出表列之間的對(duì)應(yīng)關(guān)系。默認(rèn)順序是一一對(duì)應(yīng)。利用format()函數(shù)進(jìn)行格式化輸出時(shí)也可以使用格式符來(lái)指定輸出寬度、對(duì)齊方式、補(bǔ)零、小數(shù)點(diǎn)精度等。>>>print('{:.2f}'.format(123.4567))#保留兩位小數(shù)輸出123.46>>>print('{1:.2f}'.format(34,87))#將指定位置上的數(shù)據(jù)按兩位小數(shù)輸出87.00>>>print('{:.2%}'.format(0.34))#按百分比格式輸出34.00%2.1順序結(jié)構(gòu)format()中可用格式符:數(shù)字格式輸出描述3.1415926{:.2f}3.14保留小數(shù)點(diǎn)后兩位3.1415926{:+.2f}+3.14帶符號(hào)保留小數(shù)點(diǎn)后兩位-1{:+.2f}-1.00帶符號(hào)保留小數(shù)點(diǎn)后兩位2.71828{:.0f}3不帶小數(shù)(四舍五入)5{:0>2d}05數(shù)字補(bǔ)零(填充左邊,寬度為2)5{:s<4d}5sss數(shù)字補(bǔ)s(填充右邊,寬度為4)10{:s<4d}10ss數(shù)字補(bǔ)s(填充右邊,寬度為4)1000000{:,}1,000,000以逗號(hào)分隔的數(shù)字格式0.25{:.2%}25.00%百分比格式1000000000{:.2e}1.00e+09指數(shù)記法13{:10d}13右對(duì)齊(默認(rèn),寬度為10)13{:<10d}13左對(duì)齊(寬度為10)13{:^10d}13中間對(duì)齊(寬度為10)11'{:+d}'.format(11)+11帶符號(hào)整數(shù)輸出表中“^”“<““>”分別表示居中、左對(duì)齊、右對(duì)齊,后面跟寬度?!?”號(hào)后面帶填充的字符,只能是一個(gè)字符,不指定則默認(rèn)是用空格填充?!?”表示在正數(shù)前顯示正號(hào),負(fù)數(shù)前顯示負(fù)號(hào);空格表示在正數(shù)前加空格。2.1順序結(jié)構(gòu)5.注釋為了提高程序的可讀性,可在程序的適當(dāng)位置加上必要的注釋。Python中注釋有兩種:行注釋和塊注釋。行注釋?zhuān)阂?開(kāi)頭,可以單獨(dú)成行,也可以跟在某行代碼的后邊。塊注釋?zhuān)阂卜Q(chēng)多行注釋?zhuān)萌齻€(gè)單引號(hào)'''或者三個(gè)雙引號(hào)"""將多行注釋括起來(lái),通常用于對(duì)函數(shù)、類(lèi)等的大段說(shuō)明。'''這是多行注釋Createdon2020.3.12@authorlilly@organization'''#這是單行注釋print('科技改變世界,夢(mèng)想點(diǎn)亮未來(lái)!‘)#輸出2.1順序結(jié)構(gòu)6.順序結(jié)構(gòu)示例【例3?1】求任意兩個(gè)整數(shù)的和。x=int(input('請(qǐng)輸入一個(gè)整數(shù):'))y=int(input('請(qǐng)輸入一個(gè)整數(shù):'))z=x+yprint('{}+{}={}'.format(x,y,z))【運(yùn)行結(jié)果】請(qǐng)輸入一個(gè)整數(shù):3請(qǐng)輸入一個(gè)整數(shù):43+4=72.1順序結(jié)構(gòu)【例3?2】交換兩個(gè)變量的值。x=input('請(qǐng)輸入x:')y=input('請(qǐng)輸入y:')print('交換前x={},y={}'.format(x,y))x,y=y,x#兩個(gè)變量值交換print('交換后x={},y={}'.format(x,y))【運(yùn)行結(jié)果】請(qǐng)輸入x:5請(qǐng)輸入y:6交換前x=5,y=6交換后x=6,y=52.1順序結(jié)構(gòu)【例3?3】輸入圓的半徑,求圓周長(zhǎng)和面積?!痉治觥壳髨A周長(zhǎng)和面積時(shí)需要用到圓周率,Python標(biāo)準(zhǔn)庫(kù)math中提供了相應(yīng)的符號(hào)常量pi,可直接導(dǎo)入使用。frommathimportpiasPI
r=float(input('請(qǐng)輸入半徑:'))circle=2*PI*rarea=PI*r*rprint('半徑為:{:.2f},周長(zhǎng)為:{:.2f},面積為:{:.2f}'.format(r,circle,area))【運(yùn)行結(jié)果】請(qǐng)輸入半徑:2半徑為:2.00,周長(zhǎng)為:12.57,面積為:12.572.2選擇結(jié)構(gòu)1.單分支選擇結(jié)構(gòu)格式:if條件:
語(yǔ)句塊功能:當(dāng)條件為T(mén)rue或等價(jià)于True(如非0、非空字符串等)時(shí),執(zhí)行后面的語(yǔ)句塊。說(shuō)明:(1)條件一般為關(guān)系表達(dá)式或邏輯表達(dá)式,不須加括號(hào),條件后面必須有冒號(hào)“:”,語(yǔ)句塊為若干行語(yǔ)句,它們有相同的縮進(jìn)。(2)在選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中,條件表達(dá)式的值只要不是False、0(或0.0、0j等)、空值None、空列表、空元組、空集合、空字典、空字符串、空range對(duì)象或其他空迭代對(duì)象,Python解釋器均認(rèn)為與True等價(jià)。條件語(yǔ)句塊TF2.2選擇結(jié)構(gòu)【例3?4】輸入兩個(gè)整數(shù),將其從大到小輸出。n1=int(input('enteranumber:'))n2=int(input('enteranumber:'))ifn1<n2:n1,n2=n2,n1print('%d,%d'%(n1,n2))【運(yùn)行結(jié)果】enteranumber:3enteranumber:66,32.2選擇結(jié)構(gòu)2.雙分支選擇結(jié)構(gòu)格式:if條件:
語(yǔ)句塊1else:
語(yǔ)句塊2注意:if和else必須對(duì)齊,語(yǔ)句塊1和語(yǔ)句塊2必須有相同的縮進(jìn)。功能:條件為T(mén)rue或等價(jià)于True時(shí)執(zhí)行語(yǔ)句塊1;條件為False或等價(jià)于False時(shí)執(zhí)行語(yǔ)句塊2。條件語(yǔ)句塊1TF語(yǔ)句塊22.2選擇結(jié)構(gòu)【例3?5】輸入一個(gè)整數(shù),判斷該數(shù)是奇數(shù)還是偶數(shù)。n1=int(input('enteranumber:'))ifn1%2==0:print('{}是偶數(shù)'.format(n1))else:print('{}是奇數(shù)'.format(n1))【運(yùn)行結(jié)果】enteranumber:33是奇數(shù)enteranumber:66是偶數(shù)2.2選擇結(jié)構(gòu)【例3?6】輸入一個(gè)成績(jī),判斷此成績(jī)是否及格,給出相應(yīng)的提示信息。score=float(input('enterascore:'))ifscore>=60:print('成績(jī){}及格'.format(score))else:print('成績(jī){}不及格'.format(score))【運(yùn)行結(jié)果】enterascore:78成績(jī)78.0及格enterascore:45.6成績(jī)45.6不及格2.2選擇結(jié)構(gòu)【例3?7】模擬用戶(hù)登錄。如用戶(hù)名為admin且密碼為123則登錄成功,否則登錄失敗。user_name=input('enterusername:')pw=input('enterpassword:')ifuser_name=='admin'andpw=='123':print('登錄成功!')else:print('用戶(hù)名或密碼錯(cuò)誤')【運(yùn)行結(jié)果】enterusername:adminenterpassword:123登錄成功!enterusername:adminenterpassword:12345用戶(hù)名或密碼錯(cuò)誤2.2選擇結(jié)構(gòu)說(shuō)明:Python還支持如下形式的表達(dá)式,實(shí)現(xiàn)與雙分支選擇結(jié)構(gòu)類(lèi)似的效果。格式:表達(dá)式1if條件else表達(dá)式2功能:當(dāng)條件為T(mén)rue時(shí)返回表達(dá)式1的值,否則返回表達(dá)式2的值。>>>score=80>>>print('及格'ifscore>=60else'不及格')及格2.2選擇結(jié)構(gòu)3.多分支選擇結(jié)構(gòu)格式:if條件1:
語(yǔ)句塊1elif條件2:
語(yǔ)句塊2elif條件3:
語(yǔ)句塊3......elif條件n:
語(yǔ)句塊nelse:
語(yǔ)句塊n+1功能:首先判斷條件1是否為T(mén)rue,如是,則執(zhí)行語(yǔ)句塊1,然后結(jié)束整個(gè)if語(yǔ)句;否則判斷條件2是否為T(mén)rue,如是,則執(zhí)行語(yǔ)句塊2,然后結(jié)束整個(gè)if語(yǔ)句;依次類(lèi)推,如果條件n也不成立,則執(zhí)行語(yǔ)句塊n+1。2.2選擇結(jié)構(gòu)【例3?8】輸入一百分制成績(jī),輸出其相對(duì)應(yīng)的等級(jí)。90-100分為優(yōu)秀,80-89為良好,70-79為中等,60-69為及格,60分以下不及格。score=int(input('enterascore:'))ifscore>100orscore<0:print('輸入錯(cuò)誤')elifscore>=90:print('優(yōu)秀')elifscore>=80:print('良好')elifscore>=70:print('中等')elifscore>=60:print('及格')else:print('不及格')【運(yùn)行結(jié)果】enterascore:98優(yōu)秀enterascore:88良好enterascore:78中等enterascore:68及格enterascore:58不及格enterascore:132輸入錯(cuò)誤enterascore:-9輸入錯(cuò)誤2.2選擇結(jié)構(gòu)4.選擇結(jié)構(gòu)的嵌套不論是單分支選擇結(jié)構(gòu)還是雙分支選擇結(jié)構(gòu)或是多分支選擇結(jié)構(gòu),其中的語(yǔ)句塊中還可以再包含選擇結(jié)構(gòu),這樣就構(gòu)成了選擇結(jié)構(gòu)的嵌套。在使用嵌套選擇結(jié)構(gòu)時(shí)要注意正確的縮進(jìn)。2.2選擇結(jié)構(gòu)【例3?9】利用選擇結(jié)構(gòu)的嵌套實(shí)現(xiàn)將百分制成績(jī)轉(zhuǎn)換為等級(jí)制。score=int(input('enterascore:'))ifscore>100orscore<0:print('輸入錯(cuò)誤')else:ifscore>=90:print('優(yōu)秀')else:ifscore>=80:print('良好')else:ifscore>=70:print('中等')else:ifscore>=60:print('及格')else:print('不及格')2.3循環(huán)結(jié)構(gòu)1.while循環(huán)格式:while條件:
語(yǔ)句塊功能:當(dāng)條件成立時(shí),重復(fù)執(zhí)行語(yǔ)句塊(通常稱(chēng)為循環(huán)體),直到條件不成立為止。2.3循環(huán)結(jié)構(gòu)【例3?10】在屏幕上輸出5次“科技無(wú)極限,創(chuàng)新無(wú)止境!”。i=0whilei<5:print('科技無(wú)極限,創(chuàng)新無(wú)止境!')i+=1【運(yùn)行結(jié)果】科技無(wú)極限,創(chuàng)新無(wú)止境!科技無(wú)極限,創(chuàng)新無(wú)止境!科技無(wú)極限,創(chuàng)新無(wú)止境!科技無(wú)極限,創(chuàng)新無(wú)止境!科技無(wú)極限,創(chuàng)新無(wú)止境!2.3循環(huán)結(jié)構(gòu)【例3?11】求1~100的所有的偶數(shù)之和。s=i=0whilei<=100:s+=ii+=2print(‘1到100的所有偶數(shù)之和是:',s)【運(yùn)行結(jié)果】1到100的所有偶數(shù)之和是:25502.3循環(huán)結(jié)構(gòu)2.for循環(huán)在Python中,for循環(huán)通常用于遍歷序列中的元素(如字符串、元組、列表等)或其他可迭代對(duì)象,它按照元素在可迭代對(duì)象中的順序一一迭代,在處理完所有元素后自動(dòng)結(jié)束循環(huán)。也即對(duì)序列中的每個(gè)元素都執(zhí)行一遍循環(huán)體。格式:for變量in可迭代對(duì)象:
循環(huán)體功能:對(duì)可迭代對(duì)象中的每個(gè)元素執(zhí)行一遍循環(huán)體。每次循環(huán)時(shí)自動(dòng)把可迭代對(duì)象中的當(dāng)前元素分配給變量并執(zhí)行循環(huán)體,直到整個(gè)可迭代對(duì)象中的元素取完為止。2.3循環(huán)結(jié)構(gòu)【例3?12】依次輸出一個(gè)字符串中的所有字符,各字符之間以逗號(hào)分隔。forchin‘科技興國(guó)':print(ch,end=',')【運(yùn)行結(jié)果】科,技,興,國(guó),2.3循環(huán)結(jié)構(gòu)Python提供了一個(gè)內(nèi)置函數(shù)range,用于生成一個(gè)等差整數(shù)列表,經(jīng)常用在for循環(huán)中。range()函數(shù)使用格式:range([start,]stop[,step])功能:返回一個(gè)以起始值start開(kāi)始,以終值stop結(jié)束,步長(zhǎng)為step的等差數(shù)列。如果start沒(méi)有指定,默認(rèn)從0開(kāi)始,step沒(méi)有指定,默認(rèn)為1。步長(zhǎng)step可正可負(fù)。說(shuō)明:如果要指定參數(shù)step,則必須要指定參數(shù)start。函數(shù)返回區(qū)間是一左閉右開(kāi)區(qū)間,即不包括終值在內(nèi),例:range(1,5)生成的列表是[1,2,3,4]。2.3循環(huán)結(jié)構(gòu)【例3?13】依次輸出自然數(shù)1~10,各數(shù)據(jù)之間用逗號(hào)分隔。foriinrange(1,11):print(i,end=',')【運(yùn)行結(jié)果】1,2,3,4,5,6,7,8,9,10,2.3循環(huán)結(jié)構(gòu)【例3?14】求1~100的所有奇數(shù)和。s=0foriinrange(1,101,2):s+=iprint(‘1到100所有奇數(shù)之和為:',s)【運(yùn)行結(jié)果】1到100所有奇數(shù)之和為:25002.3循環(huán)結(jié)構(gòu)3.循環(huán)的嵌套一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱(chēng)為循環(huán)的嵌套,也稱(chēng)為多重循環(huán)。不同循環(huán)結(jié)構(gòu)可以互相嵌套?!纠??15】輸出九九乘法表。foriinrange(1,10):forjinrange(1,i+1):print('%d*%d=%-2d'%(i,j,i*j),end='')print()2.3循環(huán)結(jié)構(gòu)此例也可用while循環(huán)的嵌套來(lái)實(shí)現(xiàn),代碼如下:i=1whilei<=9:j=1whilej<=i:print('%d*%d=%-2d'%(i,j,i*j),end='')j+=1print()i+=12.3循環(huán)結(jié)構(gòu)for循環(huán)嵌套while循環(huán)實(shí)現(xiàn)的代碼如下所示:foriinrange(1,10):j=1whilej<=i:print('%d*%d=%-2d'%(i,j,i*j),end='')j+=1print()2.3循環(huán)結(jié)構(gòu)while循環(huán)嵌套for循環(huán)實(shí)現(xiàn)的代碼如下所示:i=1whilei<=9:forjinrange(1,i+1):print('%d*%d=%-2d'%(i,j,i*j),end='')print()i+=12.3循環(huán)結(jié)構(gòu)4.循環(huán)跳轉(zhuǎn)語(yǔ)句通常情況下,循環(huán)結(jié)構(gòu)會(huì)在執(zhí)行完所有循環(huán)語(yǔ)句后自然結(jié)束。有些情況下,可能需要提前結(jié)束循環(huán),Python提供了break和continue兩種不同方式來(lái)提前結(jié)束循環(huán)。通常都需結(jié)合if語(yǔ)句判斷,當(dāng)滿(mǎn)足某個(gè)條件時(shí),提前結(jié)束循環(huán)。while循環(huán)和for循環(huán)中都可使用break和continue語(yǔ)句來(lái)提前結(jié)束循環(huán)。(1)break語(yǔ)句break語(yǔ)句用于提前結(jié)束整個(gè)循環(huán)。說(shuō)明:break結(jié)束的只是它自身所在的循環(huán),如果有循環(huán)嵌套,內(nèi)層循環(huán)的提前結(jié)束不影響外層循環(huán)。2.3循環(huán)結(jié)構(gòu)【例3?16】求300以?xún)?nèi)能被19整除的最大正整數(shù)。foriinrange(300,0,-1):ifi%19==0:print('300以?xún)?nèi)能被19整除的最大正整數(shù)是:',i)break【運(yùn)行結(jié)果】300以?xún)?nèi)能被19整除的最大正整數(shù)是:2852.3循環(huán)結(jié)構(gòu)(2)continue語(yǔ)句continue語(yǔ)句用于提前結(jié)束本次循環(huán)。當(dāng)執(zhí)行到continue語(yǔ)句時(shí),系統(tǒng)會(huì)自動(dòng)跳過(guò)當(dāng)前循環(huán)體中剩下的代碼,從頭開(kāi)始下一次循環(huán)?!纠??17】輸出1~10的奇數(shù)。foriinrange(1,11):ifi%2==0:continueprint(i,end='')【運(yùn)行結(jié)果】135792.3循環(huán)結(jié)構(gòu)說(shuō)明:在此只是演示continue的使用,此程序功能其實(shí)不必用continue也可以實(shí)現(xiàn),代碼如下所示。foriinrange(1,11,2):print(i,end='')提示:因循環(huán)跳轉(zhuǎn)語(yǔ)句會(huì)破壞已有的循環(huán)結(jié)構(gòu),實(shí)際編程中應(yīng)盡量避免使用循環(huán)跳轉(zhuǎn)語(yǔ)句。2.3循環(huán)結(jié)構(gòu)5.else子句在Python中,不論是while循環(huán)還是for循環(huán),都可以使用else子句。此子句不是循環(huán)必需的,可根據(jù)需要來(lái)選擇使用或不使用。使用格式如下:while循環(huán)中使用格式:while條件:
循環(huán)體else: else子句代碼塊for循環(huán)中使用格式:for變量in迭代對(duì)象:
循環(huán)體else: else子句代碼塊功能:else子句作為循環(huán)的子句,在循環(huán)語(yǔ)句正常結(jié)束后執(zhí)行。換句話說(shuō),因遇到break而提前結(jié)束的循環(huán)不會(huì)執(zhí)行else子句中的語(yǔ)句。2.3循環(huán)結(jié)構(gòu)【例3?18】求10~20所有的素?cái)?shù)。importmath
foriinrange(10,20):k=math.ceil(math.sqrt(i))forjinrange(2,k+1):ifi%j==0:break;else:print(i,end='')【運(yùn)行結(jié)果】111317192.3循環(huán)結(jié)構(gòu)6.pass語(yǔ)句pass語(yǔ)句是空語(yǔ)句,它的出現(xiàn)是為了保持程序結(jié)構(gòu)的完整性。pass不做任何事情,通常用來(lái)作占位語(yǔ)句。在程序設(shè)計(jì)時(shí),有時(shí)暫時(shí)不能確定如何實(shí)現(xiàn),或者要為以后的軟件升級(jí)預(yù)留空間等,此時(shí)可以用pass“占位”。whilescore>=60: pass#待添加語(yǔ)句,暫時(shí)什么都不做2.4編碼規(guī)范Python是一門(mén)優(yōu)雅的語(yǔ)言,非常重視代碼的可讀性,對(duì)代碼書(shū)寫(xiě)有著嚴(yán)格的要求。Python社區(qū)對(duì)代碼編寫(xiě)有些共同的要求、規(guī)范和一些常用的代碼優(yōu)化建議,在編寫(xiě)代碼時(shí)應(yīng)盡量遵循這些規(guī)范和建議,養(yǎng)成良好的編碼風(fēng)格。基本的編碼要求和規(guī)范如下:(1)嚴(yán)格使用縮進(jìn)來(lái)表示程序代碼的邏輯關(guān)系,一般以4個(gè)空格為一個(gè)縮進(jìn)單位。(2)不要在行尾加分號(hào)。(3)一行代碼不要超過(guò)80字符,盡量不要寫(xiě)過(guò)長(zhǎng)的語(yǔ)句,如語(yǔ)句太長(zhǎng),可用圓括號(hào)折疊長(zhǎng)行或是用續(xù)行符“\”來(lái)拆分語(yǔ)句。(4)空格與空行。運(yùn)算符兩側(cè)建議使用空格分開(kāi);不同函數(shù)之間建議增加一個(gè)空行增加程序可讀性。(5)對(duì)關(guān)鍵代碼和重要的業(yè)務(wù)邏輯代碼進(jìn)行必要的注釋。3.1系統(tǒng)業(yè)務(wù)流程設(shè)計(jì)任務(wù)實(shí)施3.2系統(tǒng)主界面實(shí)現(xiàn)Python程序設(shè)計(jì)3.3學(xué)生基本信息管理界面實(shí)現(xiàn)3.4學(xué)生成績(jī)管理界面實(shí)現(xiàn)3.1系統(tǒng)業(yè)務(wù)流程設(shè)計(jì)學(xué)生信息管理系統(tǒng)啟動(dòng)后,首先進(jìn)入系統(tǒng)主界面,如下圖(a)所示,等待用戶(hù)輸入命令選擇相應(yīng)的功能。如果用戶(hù)輸入“info”命令,則進(jìn)入學(xué)生基本信息管理子功能模塊,界面如下圖(b)所示,如果用戶(hù)輸入“score”命令,則進(jìn)入學(xué)生成績(jī)管理子功能模塊,界面如下圖(c)所示。在學(xué)生基本信息管理界面,用戶(hù)通過(guò)輸入相應(yīng)的命令進(jìn)行學(xué)生基本信息的增、刪、改、顯示等操作。在學(xué)生成績(jī)管理界面用戶(hù)可選擇相應(yīng)的功能進(jìn)行成績(jī)處理。3.2系統(tǒng)主界面實(shí)現(xiàn)print("====學(xué)生信息管理系統(tǒng)V1.0====")print("info:學(xué)生基本信息管理")print("score:學(xué)生成績(jī)管理"
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣東江門(mén)市城建集團(tuán)有限公司公路運(yùn)營(yíng)分公司招聘1人筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025年衡陽(yáng)智能衡器計(jì)量產(chǎn)業(yè)園發(fā)展有限公司招聘7人筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025年六安安徽和襄高速公路有限公司招聘費(fèi)收人員管護(hù)隊(duì)人員192人筆試參考題庫(kù)附帶答案詳解(3卷)
- 培訓(xùn)機(jī)構(gòu)衛(wèi)生自查制度
- 年度員工再培訓(xùn)管理制度
- 培訓(xùn)護(hù)士投票制度及流程
- 培訓(xùn)學(xué)校五項(xiàng)管理制度
- 培訓(xùn)課堂管理制度及流程
- 培訓(xùn)材料管理制度及流程
- 培訓(xùn)實(shí)行封閉管理制度
- 2025年廣東省生態(tài)環(huán)境廳下屬事業(yè)單位考試真題附答案
- 2026年安徽省公務(wù)員考試招錄7195名備考題庫(kù)完整參考答案詳解
- 統(tǒng)籌發(fā)展與安全課件
- 化工廠班組安全培訓(xùn)課件
- 2025四川成都農(nóng)商銀行招聘10人筆試備考題庫(kù)及答案解析
- 營(yíng)業(yè)執(zhí)照借用協(xié)議合同
- 2025年秋蘇教版(新教材)初中生物八年級(jí)上冊(cè)期末知識(shí)點(diǎn)復(fù)習(xí)卷及答案(共三套)
- 弱電項(xiàng)目實(shí)施管理方案
- 2025年小升初學(xué)校家長(zhǎng)面試題庫(kù)及答案
- 2025年山西省公務(wù)員考試《申論》試題及答案解析(縣鄉(xiāng)卷)
- 2025年法考客觀題真題回憶版(含答案)
評(píng)論
0/150
提交評(píng)論