![《Python語(yǔ)言基礎(chǔ)及應(yīng)用》 課件 第4章 結(jié)構(gòu)體_第1頁(yè)](http://file4.renrendoc.com/view4/M01/3F/1B/wKhkGGYNCYGAdKSNAAFafTxh1pU106.jpg)
![《Python語(yǔ)言基礎(chǔ)及應(yīng)用》 課件 第4章 結(jié)構(gòu)體_第2頁(yè)](http://file4.renrendoc.com/view4/M01/3F/1B/wKhkGGYNCYGAdKSNAAFafTxh1pU1062.jpg)
![《Python語(yǔ)言基礎(chǔ)及應(yīng)用》 課件 第4章 結(jié)構(gòu)體_第3頁(yè)](http://file4.renrendoc.com/view4/M01/3F/1B/wKhkGGYNCYGAdKSNAAFafTxh1pU1063.jpg)
![《Python語(yǔ)言基礎(chǔ)及應(yīng)用》 課件 第4章 結(jié)構(gòu)體_第4頁(yè)](http://file4.renrendoc.com/view4/M01/3F/1B/wKhkGGYNCYGAdKSNAAFafTxh1pU1064.jpg)
![《Python語(yǔ)言基礎(chǔ)及應(yīng)用》 課件 第4章 結(jié)構(gòu)體_第5頁(yè)](http://file4.renrendoc.com/view4/M01/3F/1B/wKhkGGYNCYGAdKSNAAFafTxh1pU1065.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章結(jié)構(gòu)體CATALOGUE目錄選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)解析式實(shí)驗(yàn):溫度轉(zhuǎn)換器2.0實(shí)驗(yàn):批處理文件名選擇結(jié)構(gòu)01選擇結(jié)構(gòu)的分類a)單分支結(jié)構(gòu)b)
二分支結(jié)構(gòu)c)
多分支結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)可以分為單分支、二分支和多分支三種。二分支結(jié)構(gòu)包含一個(gè)`if`語(yǔ)句和一個(gè)`else`語(yǔ)句,根據(jù)條件的真假執(zhí)行不同的代碼。單分支結(jié)構(gòu)只包含一個(gè)`if`語(yǔ)句根據(jù)條件的真假執(zhí)行不同的代碼。多分支結(jié)構(gòu)可以使用多個(gè)`if-elif-else`語(yǔ)句來實(shí)現(xiàn),根據(jù)不同的條件執(zhí)行不同的代碼。單分支結(jié)構(gòu)只包含一個(gè)`if`語(yǔ)句,根據(jù)條件的真假執(zhí)行不同的代碼。if條件語(yǔ)句:
執(zhí)行語(yǔ)句單分支#只有if的例子amount=int(input('請(qǐng)輸入狀態(tài)自評(píng)分【1(十分沮喪)~10(滿面紅光)】:')) ifamount>=7: print('******************') print('{0:=^14}'.format('今天狀態(tài)不錯(cuò)')) print('{0:-^14}'.format('適合學(xué)習(xí)')) print('******************')print('希望您度過愉快的一天!')
輸出1:請(qǐng)輸入狀態(tài)自評(píng)分【1(十分沮喪)~10(滿面紅光)】:8******************====今天狀態(tài)不錯(cuò)====-----適合學(xué)習(xí)-----******************希望您度過愉快的一天!
輸出2:請(qǐng)輸入狀態(tài)自評(píng)分【1(十分沮喪)~10(滿面紅光)】:5希望您度過愉快的一天!
單分支結(jié)構(gòu)只包含一個(gè)`if`語(yǔ)句,根據(jù)條件的真假執(zhí)行不同的代碼。if條件語(yǔ)句:
執(zhí)行語(yǔ)句單分支'''in/notin關(guān)鍵字也能搭配if語(yǔ)句進(jìn)行布爾值判斷,比如確定某個(gè)特定的值是否被包含在列表中。例如,有一份公司職員表,只有在表單上的人員才允許進(jìn)入公司,就可控制門禁判斷是否允許該人員進(jìn)入。
'''allowed_users=['andrew','carolina','david'] user='lily'ifusernotinallowed_users:print(user.title()+",youarenotallowedtocomein.SORRY")
輸出:Lily,youarenotallowedtocomein.SORRY
二分支結(jié)構(gòu)包含一個(gè)`if`語(yǔ)句和一個(gè)`else`語(yǔ)句,根據(jù)條件的真假執(zhí)行不同的代碼。if條件語(yǔ)句:
執(zhí)行語(yǔ)句1else:
執(zhí)行語(yǔ)句2二分支#if-else例子amount=int(input('請(qǐng)輸入狀態(tài)自評(píng)分【1(十分沮喪)~10(滿面紅光)】:')) print('******************')ifamount>=7: print('{0:=^14}'.format('今天狀態(tài)不錯(cuò)')) print('{0:-^14}'.format('適合學(xué)習(xí)'))else: print('{0:=^14}'.format('今天狀態(tài)不佳')) print('{0:-^14}'.format('用學(xué)習(xí)提升自己吧'))print('******************')print('希望您度過愉快的一天!')
輸出1:請(qǐng)輸入狀態(tài)自評(píng)分【1(十分沮喪)~10(滿面紅光)】:8******************====今天狀態(tài)不錯(cuò)====-----適合學(xué)習(xí)-----******************希望您度過愉快的一天!
輸出2:請(qǐng)輸入狀態(tài)自評(píng)分【1(十分沮喪)~10(滿面紅光)】:5******************====今天狀態(tài)不佳====---用學(xué)習(xí)提升自己吧---******************希望您度過愉快的一天!
多分支結(jié)構(gòu)可以使用多個(gè)`if-elif-else`語(yǔ)句來實(shí)現(xiàn),根據(jù)不同的條件執(zhí)行不同的代碼。if條件語(yǔ)句1:
執(zhí)行語(yǔ)句1elif條件語(yǔ)句2:
執(zhí)行語(yǔ)句2……else:
執(zhí)行語(yǔ)句n+1多分支#
采用并列式多分支評(píng)定成績(jī)等級(jí)
score=int(input('成績(jī):')) level=''ifscore>100orscore<0: level='超出范圍'if90<=score<=100: level='優(yōu)秀'if80<=score<90: level='良好'if70<=score<80: level='中等'if60<=score<70: level='及格'if0<=score<60: level='不及格'print('您的評(píng)級(jí)是:{}'.format(level))多分支結(jié)構(gòu)可以使用多個(gè)`if-elif-else`語(yǔ)句來實(shí)現(xiàn),根據(jù)不同的條件執(zhí)行不同的代碼。if條件語(yǔ)句1:
執(zhí)行語(yǔ)句1elif條件語(yǔ)句2:
執(zhí)行語(yǔ)句2……else:
執(zhí)行語(yǔ)句n+1多分支#
采用嵌套式多分支評(píng)定成績(jī)等級(jí)
score=int(input('成績(jī):’)) level=''ifscore>100orscore<0:
level='超出范圍'else:
ifscore>=90: level='優(yōu)秀‘
else:
ifscore>=80:
level='良好’
else:
ifscore>=70:
level='中等’
else:
ifscore>=60:
level='及格’
else:
level='不及格'print('您的評(píng)級(jí)是:{}'.format(level))多分支結(jié)構(gòu)可以使用多個(gè)`if-elif-else`語(yǔ)句來實(shí)現(xiàn),根據(jù)不同的條件執(zhí)行不同的代碼。if條件語(yǔ)句1:
執(zhí)行語(yǔ)句1elif條件語(yǔ)句2:
執(zhí)行語(yǔ)句2……else:
執(zhí)行語(yǔ)句n+1多分支#
采用延拓式多分支評(píng)定成績(jī)等級(jí)
score=int(input('成績(jī):')) level=''ifscore>100orscore<0: level='超出范圍'elifscore>=90: level='優(yōu)秀'elifscore>=80: level='良好'elifscore>=70: level='中等'elifscore>=60: level='及格'else: level='不及格'print('您的評(píng)級(jí)是:{}'.format(level))以上三種結(jié)構(gòu)的輸出結(jié)果均一致。多分支成績(jī):87 您的評(píng)級(jí)是:良好成績(jī):96您的評(píng)級(jí)是:優(yōu)秀成績(jī):60您的評(píng)級(jí)是:及格成績(jī):27您的評(píng)級(jí)是:不及格成績(jī):101您的評(píng)級(jí)是:超出范圍
條件表達(dá)式是一種將`if-else`語(yǔ)句轉(zhuǎn)換成單一表達(dá)式的方法,也稱為三元運(yùn)算符。條件表達(dá)式有三個(gè)值,分別代表?xiàng)l件滿足時(shí)的值、條件、條件不滿足時(shí)的值。條件成立時(shí)執(zhí)行的語(yǔ)句if條件else條件不成立時(shí)執(zhí)行的語(yǔ)句條件表達(dá)式#
將4.1.1中的if-else示例轉(zhuǎn)變成條件表達(dá)式
amount=int(input('請(qǐng)輸入狀態(tài)自評(píng)分【1(十分沮喪)~10(滿面紅光)】:'))print('******************')print('{0:=^14}\n{1:-^14}'.format('今天狀態(tài)不錯(cuò)','適合學(xué)習(xí)'))ifamount>=7elseprint('{0:=^14}\n{1:-^14}'.format('今天狀態(tài)不佳','用學(xué)習(xí)提升自己吧'))print('******************\n希望您度過愉快的一天!')條件表達(dá)式是一種將`if-else`語(yǔ)句轉(zhuǎn)換成單一表達(dá)式的方法,也稱為三元運(yùn)算符。條件表達(dá)式有三個(gè)值,分別代表?xiàng)l件滿足時(shí)的值、條件、條件不滿足時(shí)的值。條件成立時(shí)執(zhí)行的語(yǔ)句if條件else條件不成立時(shí)執(zhí)行的語(yǔ)句條件表達(dá)式#將4.1.1中的多分支示例轉(zhuǎn)變成條件表達(dá)式score=int(input('成績(jī):'))level=(‘超出范圍'ifscore>100orscore<0else
'優(yōu)秀'ifscore>=90else '良好'ifscore>=80else '中等'ifscore>=70else '及格'ifscore>=60else '不及格')print('您的評(píng)級(jí)是:{}'.format(level))異常處理異常處理的作用異常處理是一種用于捕獲和處理程序運(yùn)行時(shí)出現(xiàn)錯(cuò)誤的機(jī)制,通過`try-except`語(yǔ)句實(shí)現(xiàn)。異常處理的機(jī)制當(dāng)程序出現(xiàn)異常時(shí),可以根據(jù)不同的異常類型執(zhí)行相應(yīng)的處理代碼,確保程序的正常運(yùn)行。異常處理a=float(input("Entercoefficienta:")) b=float(input("Entercoefficientb:"))c=float(input("Entercoefficientc:"))discrim=b*b-4*a*cdiscRoot=math.sqrt(discrim)root1=(-b+discRoot)/(2*a)root2=(-b-discRoot)/(2*a)print("\nThesolutionsare:",root1,root2)異常處理a=float(input("Entercoefficienta:")) b=float(input("Entercoefficientb:"))c=float(input("Entercoefficientc:"))discrim=b*b-4*a*cifa==0:
print("\nTheequationisnotaquadratic!")else:
ifdiscrim<0:
print("\nTheequationhasnorealroots!") else:
discRoot=math.sqrt(discrim)
root1=(-b+discRoot)/(2*a)
root2=(-b-discRoot)/(2*a) ifroot1==root2:
print("\nonlyonesolution:",root1)
else:
print("\nThesolutionsare:",root1,root2)異常處理print("Thisprogramfindstherealsolutionstoaquadratic\n") try:
a=float(input("Entercoefficienta:"))
b=float(input("Entercoefficientb:"))
c=float(input("Entercoefficientc:"))
discrim=b*b-4*a*c discRoot=math.sqrt(discrim)
root1=(-b+discRoot)/(2*a)
root2=(-b-discRoot)/(2*a)
ifroot1==root2:
print("\nonlyonesolution:",root1) else:
print("\nThesolutionsare:",root1,root2)exceptValueErrorase:
print(e,":NoRealRoots")exceptZeroDivisionErrorase:
print(e,":Invalidcoefficientgiven")except:
print("\nSomethingwentwrong,sorry!")try: <主程序>except<錯(cuò)誤類型>:<處理方式>循環(huán)結(jié)構(gòu)02循環(huán)結(jié)構(gòu)在生活中的應(yīng)用廣泛,例如,當(dāng)我們想要實(shí)現(xiàn)某個(gè)任務(wù)時(shí),可以使用循環(huán)來重復(fù)執(zhí)行相同的操作,直到達(dá)到預(yù)期的結(jié)果。循環(huán)在生活中的應(yīng)用循環(huán)結(jié)構(gòu)在計(jì)算機(jī)編程中扮演著重要的角色,因?yàn)橛?jì)算機(jī)程序通常需要執(zhí)行一系列操作,而循環(huán)是實(shí)現(xiàn)這一功能的有效方法。循環(huán)在計(jì)算機(jī)編程中的重要性引言一般形式for循環(huán)結(jié)構(gòu)的一般形式是,對(duì)于一個(gè)序列,使用循環(huán)來迭代其中的元素,并對(duì)每個(gè)元素執(zhí)行相同的操作。for<變量>in<序列>: 縮進(jìn)代碼塊非縮進(jìn)代碼塊在循環(huán)的每一輪,<變量>會(huì)依次取序列中的一個(gè)值。對(duì)序列中的最后一個(gè)值執(zhí)行完縮進(jìn)代碼塊后,程序繼續(xù)執(zhí)行非縮進(jìn)代碼塊。<序列>是容器型數(shù)據(jù)類型的數(shù)據(jù),例如:字符串、列表、字典、元組、集合、迭代器、生成器。for循環(huán)結(jié)構(gòu)#字符串循環(huán)foriin'hello': print(i,type(i))
輸出:h<class'str’>e<class'str’>l<class'str’>l<class'str’>o<class'str'>
一般形式for循環(huán)結(jié)構(gòu)的一般形式是,對(duì)于一個(gè)序列,使用循環(huán)來迭代其中的元素,并對(duì)每個(gè)元素執(zhí)行相同的操作。for<變量>in<序列>: 縮進(jìn)代碼塊非縮進(jìn)代碼塊在循環(huán)的每一輪,<變量>會(huì)依次取序列中的一個(gè)值。對(duì)序列中的最后一個(gè)值執(zhí)行完縮進(jìn)代碼塊后,程序繼續(xù)執(zhí)行非縮進(jìn)代碼塊。<序列>是容器型數(shù)據(jù)類型的數(shù)據(jù),例如:字符串、列表、字典、元組、集合、迭代器、生成器。for循環(huán)結(jié)構(gòu)#列表循環(huán)week=['MON','TUE','WED','THU','FRI','SAT','SUN’]
fornameinweek: print(name)輸出:MONTUEWEDTHUFRISATSUN一般形式for循環(huán)結(jié)構(gòu)的一般形式是,對(duì)于一個(gè)序列,使用循環(huán)來迭代其中的元素,并對(duì)每個(gè)元素執(zhí)行相同的操作。for<變量>in<序列>: 縮進(jìn)代碼塊非縮進(jìn)代碼塊在循環(huán)的每一輪,<變量>會(huì)依次取序列中的一個(gè)值。對(duì)序列中的最后一個(gè)值執(zhí)行完縮進(jìn)代碼塊后,程序繼續(xù)執(zhí)行非縮進(jìn)代碼塊。<序列>是容器型數(shù)據(jù)類型的數(shù)據(jù),例如:字符串、列表、字典、元組、集合、迭代器、生成器。for循環(huán)結(jié)構(gòu)#字典循環(huán)a={'name':'Lily','wx':'Lily_W'} forkey,valueina.items(): print(key,':',value)輸出:name:Lilywx:Lily_Wfor循環(huán)適合用于枚舉或遍歷序列,以及迭代對(duì)象中的元素。一般應(yīng)用在循環(huán)次數(shù)已知的情況下。
range函數(shù)(1)range(N)產(chǎn)生一個(gè)[0,N)的數(shù)字序列且N>0(2)range(M,N)產(chǎn)生一個(gè)[M,N)的數(shù)字序列且M<N(3)range(M,N,step)產(chǎn)生一個(gè)[M,N)的數(shù)字序列。其中,step為步長(zhǎng)(每次數(shù)字增加的值),可為負(fù)值。注意:N是無法被循環(huán)到的數(shù)字,實(shí)際循環(huán)到N-1。使用range()函數(shù)進(jìn)行循環(huán)的方式,稱為計(jì)數(shù)器模式for循環(huán)結(jié)構(gòu)#計(jì)數(shù)器模式forcurrent_indexinrange(1,6): print(current_index)輸出:12345range函數(shù)(1)range(N)產(chǎn)生一個(gè)[0,N)的數(shù)字序列且N>0(2)range(M,N)產(chǎn)生一個(gè)[M,N)的數(shù)字序列且M<N(3)range(M,N,step)產(chǎn)生一個(gè)[M,N)的數(shù)字序列。其中,step為步長(zhǎng)(每次數(shù)字增加的值),可為負(fù)值。注意:N是無法被循環(huán)到的數(shù)字,實(shí)際循環(huán)到N-1。想要?jiǎng)?chuàng)建數(shù)字列表,可使用函數(shù)list()將range()的結(jié)果直接轉(zhuǎn)換為列表:將range()作為list()的參數(shù),輸出將是一個(gè)數(shù)字列表for循環(huán)結(jié)構(gòu)#創(chuàng)建數(shù)字列表 numbers=list(range(1,6))print(numbers)輸出:[1,2,3,4,5]range函數(shù)(1)range(N)產(chǎn)生一個(gè)[0,N)的數(shù)字序列且N>0(2)range(M,N)產(chǎn)生一個(gè)[M,N)的數(shù)字序列且M<N(3)range(M,N,step)產(chǎn)生一個(gè)[M,N)的數(shù)字序列。其中,step為步長(zhǎng)(每次數(shù)字增加的值),可為負(fù)值。注意:N是無法被循環(huán)到的數(shù)字,實(shí)際循環(huán)到N-1。使用函數(shù)range()幾乎能夠創(chuàng)建任何需要的數(shù)字集。數(shù)字列表中的元素值作為另一個(gè)已知列表的下標(biāo)值存在時(shí),可以實(shí)現(xiàn)選擇性的讀取列表元素。for循環(huán)結(jié)構(gòu)#計(jì)數(shù)器循環(huán),依次讀取下標(biāo)值對(duì)應(yīng)元素值 week=['MON','TUE','WED','THU','FRI','SAT','SUN’]foriinrange(len(week)):print(week[i])輸出:MONTUEWEDTHUFRISATSUNrange函數(shù)(1)range(N)產(chǎn)生一個(gè)[0,N)的數(shù)字序列且N>0(2)range(M,N)產(chǎn)生一個(gè)[M,N)的數(shù)字序列且M<N(3)range(M,N,step)產(chǎn)生一個(gè)[M,N)的數(shù)字序列。其中,step為步長(zhǎng)(每次數(shù)字增加的值),可為負(fù)值。注意:N是無法被循環(huán)到的數(shù)字,實(shí)際循環(huán)到N-1。使用函數(shù)range()幾乎能夠創(chuàng)建任何需要的數(shù)字集。數(shù)字列表中的元素值作為另一個(gè)已知列表的下標(biāo)值存在時(shí),可以實(shí)現(xiàn)選擇性的讀取列表元素。for循環(huán)結(jié)構(gòu)#計(jì)數(shù)器循環(huán),間隔讀取下標(biāo)值對(duì)應(yīng)元素值week=['MON','TUE','WED','THU','FRI','SAT','SUN'] foriinrange(0,len(week),2):print(week[i])輸出:MONWEDFRISUNrange函數(shù)(1)range(N)產(chǎn)生一個(gè)[0,N)的數(shù)字序列且N>0(2)range(M,N)產(chǎn)生一個(gè)[M,N)的數(shù)字序列且M<N(3)range(M,N,step)產(chǎn)生一個(gè)[M,N)的數(shù)字序列。其中,step為步長(zhǎng)(每次數(shù)字增加的值),可為負(fù)值。注意:N是無法被循環(huán)到的數(shù)字,實(shí)際循環(huán)到N-1。實(shí)際應(yīng)用中,面對(duì)列表加元組表示的二維表,循環(huán)存取的方式示例如右for循環(huán)結(jié)構(gòu)#二維表循環(huán)存取 students=[(110121,"李麗麗"), (110122,"王凱"), (110123,"胡波濤"), (110124,"江南懷"), (110125,"徐靜")]forrowinstudents: #按行存取 print(row[0],row[1])forid,nameinstudents: #按行拆包存取 print(id,name)forindexinrange(len(students)): #按索引存取
print(students[index][0],students[index][1])輸出:
110121李麗麗110122王凱110123胡波濤110124江南懷110125徐靜一般形式while循環(huán)結(jié)構(gòu)的一般形式是,先測(cè)試循環(huán)條件,如果條件為真,則執(zhí)行循環(huán)體中的操作,否則跳出循環(huán)。while判斷條件: 縮進(jìn)代碼塊非縮進(jìn)代碼塊如果條件的值為True,那么一定要在執(zhí)行語(yǔ)句中添加改變條件的值的語(yǔ)句或者有觸發(fā)退出的操作,否則會(huì)進(jìn)入死循環(huán)。在循環(huán)體執(zhí)行之前,該條件始終在循環(huán)頂部進(jìn)行測(cè)試。這種結(jié)構(gòu)稱為“先測(cè)試”循環(huán)。while循環(huán)結(jié)構(gòu)#while循環(huán)計(jì)數(shù)current_index=1whilecurrent_index<=5: #判斷條件 print(current_index)
#改變判斷條件的值的語(yǔ)句 current_index+=1 輸出:12345一般形式while循環(huán)結(jié)構(gòu)的一般形式是,先測(cè)試循環(huán)條件,如果條件為真,則執(zhí)行循環(huán)體中的操作,否則跳出循環(huán)。while判斷條件: 縮進(jìn)代碼塊非縮進(jìn)代碼塊改編4-1-1代碼,一次性記錄多個(gè)成績(jī)對(duì)應(yīng)的評(píng)語(yǔ)。同時(shí)允許用戶在任何時(shí)間停止:當(dāng)用戶輸入-999時(shí),表示輸入終止。while循環(huán)結(jié)構(gòu)#評(píng)級(jí)2.0print('若想要終止輸入,請(qǐng)輸入值:-999') #①
score=int(input('成績(jī):'))level=''whilescore!=-999: #②ifscore>100orscore<0:level='超出范圍'elifscore>=90:level='優(yōu)秀'elifscore>=80:level='良好'elifscore>=70:level='中等'elifscore>=60:level='及格'else:level='不及格'print('您的評(píng)級(jí)是:{}'.format(level))score=int(input('成績(jī):')) #③print('完成.') #④哨兵循環(huán)哨兵循環(huán)不斷處理數(shù)據(jù),直到達(dá)到一個(gè)特殊值,表明迭代結(jié)束。特殊值稱為“哨兵”??梢赃x擇任何值作為哨兵,唯一的限制是能與實(shí)際數(shù)據(jù)值區(qū)分開來。獲取第一個(gè)數(shù)據(jù)項(xiàng)而該數(shù)據(jù)項(xiàng)不是特殊值(哨兵):
處理項(xiàng)目
獲取下一個(gè)數(shù)據(jù)項(xiàng)while循環(huán)結(jié)構(gòu)#評(píng)級(jí)2.0print('若想要終止輸入,請(qǐng)輸入值:-999') #①
score=int(input('成績(jī):'))level=''whilescore!=-999: #②ifscore>100orscore<0:level='超出范圍'elifscore>=90:level='優(yōu)秀'elifscore>=80:level='良好'elifscore>=70:level='中等'elifscore>=60:level='及格'else:level='不及格'print('您的評(píng)級(jí)是:{}'.format(level))score=int(input('成績(jī):')) #③print('完成.') #④輸出:若想要終止輸入,請(qǐng)輸入值:-999成績(jī):101您的評(píng)級(jí)是:超出范圍成績(jī):68您的評(píng)級(jí)是:及格成績(jī):57您的評(píng)級(jí)是:良好成績(jī):-999完成.哨兵循環(huán)哨兵循環(huán)不斷處理數(shù)據(jù),直到達(dá)到一個(gè)特殊值,表明迭代結(jié)束。特殊值稱為“哨兵”??梢赃x擇任何值作為哨兵,唯一的限制是能與實(shí)際數(shù)據(jù)值區(qū)分開來。獲取第一個(gè)數(shù)據(jù)項(xiàng)而該數(shù)據(jù)項(xiàng)不是特殊值(哨兵):
處理項(xiàng)目
獲取下一個(gè)數(shù)據(jù)項(xiàng)while循環(huán)結(jié)構(gòu)想要擁有一個(gè)真正獨(dú)特的哨兵,需要擴(kuò)大可能的輸入。假設(shè)將用戶的輸入作為字符串獲取??梢杂靡粋€(gè)獨(dú)特的非數(shù)字字符串,表示輸入結(jié)束。而所有其他輸入都將被轉(zhuǎn)換為數(shù)字類型數(shù)據(jù)。
#評(píng)級(jí)2.0.1print('若想要終止輸入,請(qǐng)輸入空格鍵') score=input('成績(jī):')level=''whilescore!='':score=int(score)print('continue')score=input('成績(jī):')print('完成.')輸出:若想要終止輸入,請(qǐng)輸入空格鍵
continue成績(jī):34continue成績(jī):987continue成績(jī):
完成.哨兵循環(huán)哨兵循環(huán)不斷處理數(shù)據(jù),直到達(dá)到一個(gè)特殊值,表明迭代結(jié)束。特殊值稱為“哨兵”。可以選擇任何值作為哨兵,唯一的限制是能與實(shí)際數(shù)據(jù)值區(qū)分開來。獲取第一個(gè)數(shù)據(jù)項(xiàng)而該數(shù)據(jù)項(xiàng)不是特殊值(哨兵):
處理項(xiàng)目
獲取下一個(gè)數(shù)據(jù)項(xiàng)while循環(huán)結(jié)構(gòu)進(jìn)一步優(yōu)化,可以使用累積器(count)來計(jì)數(shù)不同的評(píng)語(yǔ)出現(xiàn)的次數(shù)。它從0開始,每次通過循環(huán)增加1。#評(píng)級(jí)2.1print('若想要終止輸入,請(qǐng)輸入值:-999') score=int(input('成績(jī):'))level=''A=B=C=D=F=0 #⑤whilescore!=-999:ifscore>100orscore<0:level='超出范圍'elifscore>=90:level='優(yōu)秀'A+=1 #⑥elifscore>=80:level='良好'B+=1 #⑥elifscore>=70:level='中等'C+=1 #⑥elifscore>=60:level='及格'D+=1 #⑥else:level='不及格'F+=1 #⑥print('您的評(píng)級(jí)是:{}'.format(level))score=int(input('成績(jī):'))print('完成.')print('經(jīng)統(tǒng)計(jì):【優(yōu)秀】共{}名,【良好】共{}名,【中等】共{}名,【及格】共{}名,【不及格】共{}名'.format(A,B,C,D,F)) #⑦哨兵循環(huán)哨兵循環(huán)不斷處理數(shù)據(jù),直到達(dá)到一個(gè)特殊值,表明迭代結(jié)束。特殊值稱為“哨兵”??梢赃x擇任何值作為哨兵,唯一的限制是能與實(shí)際數(shù)據(jù)值區(qū)分開來。獲取第一個(gè)數(shù)據(jù)項(xiàng)而該數(shù)據(jù)項(xiàng)不是特殊值(哨兵):
處理項(xiàng)目
獲取下一個(gè)數(shù)據(jù)項(xiàng)while循環(huán)結(jié)構(gòu)進(jìn)一步優(yōu)化,可以使用累積器(count)來計(jì)數(shù)不同的評(píng)語(yǔ)出現(xiàn)的次數(shù)。它從0開始,每次通過循環(huán)增加1。break語(yǔ)句:break語(yǔ)句用于中斷循環(huán),當(dāng)條件滿足時(shí),跳出循環(huán)體,執(zhí)行循環(huán)外的代碼。循環(huán)控制語(yǔ)句for循環(huán)While循環(huán)for迭代變量in對(duì)象:
執(zhí)行代碼 if條件表達(dá)式2: breakwhile條件表達(dá)式1:
執(zhí)行代碼 if條件表達(dá)式2: breakfor循環(huán)While循環(huán)for<變量>in<序列>:
語(yǔ)句塊1else:
語(yǔ)句塊2非縮進(jìn)代碼塊while條件:
語(yǔ)句塊1else:
語(yǔ)句塊2非縮進(jìn)代碼塊else子句在循環(huán)正常完成時(shí)才會(huì)被執(zhí)行,這意味著循環(huán)沒有遇到任何break語(yǔ)句作用功能需求輸入一個(gè)大于等于2的正整數(shù),判斷是否為素?cái)?shù)使用while-else語(yǔ)句實(shí)現(xiàn)循環(huán)控制語(yǔ)句(1)循環(huán)控制變量a從num-1遞減到1,程序在每次循環(huán)判斷a(賦值從num-1到2)是否是num的因數(shù);(2)若a被判斷是num的因數(shù),打印“不是素?cái)?shù)”。此時(shí)根據(jù)素?cái)?shù)定義,剩余循環(huán)再無意義,使用break語(yǔ)句跳出while循環(huán),同時(shí)跳過else子句;(3)若循環(huán)過程中,num%a始終不為0,即num不能被從2到num-1中的任何一個(gè)數(shù)整除,說明num是素?cái)?shù),在循環(huán)結(jié)束后執(zhí)行else子句,打印“是素?cái)?shù)”。功能需求輸入一個(gè)大于等于2的正整數(shù),判斷是否為素?cái)?shù)使用while-else語(yǔ)句實(shí)現(xiàn)循環(huán)控制語(yǔ)句#while-else判斷素?cái)?shù)
num=int(input('請(qǐng)輸入一個(gè)大于等于2的正整數(shù):'))a=num-1 ①whilea>1: ①ifnum%a==0: ②print("不是素?cái)?shù)") ②break#跳出當(dāng)前循環(huán),包括else子句。
②a=a-1 ①else: ③print("是素?cái)?shù)") ③
輸出1:
請(qǐng)輸入一個(gè)大于等于2的正整數(shù):11是素?cái)?shù)
輸出2:請(qǐng)輸入一個(gè)大于等于2的正整數(shù):4不是素?cái)?shù)
功能需求輸入一個(gè)大于等于2的正整數(shù),判斷是否為素?cái)?shù)使用if-else語(yǔ)句實(shí)現(xiàn)循環(huán)控制語(yǔ)句(1)程序中的循環(huán)控制變量a從2遞增到num-1,程序在每次循環(huán)判斷a是否是num的因數(shù);(2)若a被判斷是num的因數(shù),打印”不是素?cái)?shù)”,然后break語(yǔ)句跳出for語(yǔ)句,同時(shí)跳過else子句;(3)若循環(huán)過程中,num%a始終不為0,說明num是素?cái)?shù),在循環(huán)結(jié)束后執(zhí)行else子句,打印”是素?cái)?shù)”。功能需求輸入一個(gè)大于等于2的正整數(shù),判斷是否為素?cái)?shù)使用if-else語(yǔ)句實(shí)現(xiàn)循環(huán)控制語(yǔ)句#if-else判斷素?cái)?shù)num=int(input('請(qǐng)輸入一個(gè)大于等于2的正整數(shù):')) foriinrange(2,num): #i從2到num-1 ①ifnum%i==0: ②print("不是素?cái)?shù)") ②break ②else: ③print("是素?cái)?shù)") ③循環(huán)控制語(yǔ)句continue語(yǔ)句:continue語(yǔ)句用于繼續(xù)循環(huán),當(dāng)條件不滿足時(shí),跳過當(dāng)前循環(huán),執(zhí)行下一循環(huán)。其存在是為了刪除滿足循環(huán)條件下的某些不需要的成分作用html_list='/,/' foriinhtml_list:ifi==',':print('\n')continueprint(i,end="")
輸出:/
/例如,在一大段網(wǎng)頁(yè)地址文本中剔除掉不需要的逗號(hào)分隔符,使有用信息更直觀地展示循環(huán)控制語(yǔ)句continue語(yǔ)句:continue語(yǔ)句用于繼續(xù)循環(huán),當(dāng)條件不滿足時(shí),跳過當(dāng)前循環(huán),執(zhí)行下一循環(huán)。其存在是為了刪除滿足循環(huán)條件下的某些不需要的成分作用html_list="/,/" print(html_list.split(','))輸出:['/','/'] 實(shí)際上,當(dāng)剔除部分是固定或者樣式統(tǒng)一的時(shí)候,利用split()函數(shù)或者re正則表達(dá)式能夠更方便的實(shí)現(xiàn)相應(yīng)功能編程只是實(shí)現(xiàn)功能目標(biāo)的手段。當(dāng)程序員熟悉越多的已有函數(shù)或方法,其編程思維會(huì)越加的靈活豐富循環(huán)的嵌套處理相對(duì)復(fù)雜的問題Python語(yǔ)言允許在一個(gè)循環(huán)體里面嵌入另一個(gè)循環(huán)??梢栽趂or(while)循環(huán)嵌套for(while)循環(huán),也可以在循環(huán)體內(nèi)嵌入其他的循環(huán)體作用示例:給定一個(gè)整數(shù)區(qū)間,找出其中的所有素?cái)?shù),并求和。使用for嵌套循環(huán)語(yǔ)句實(shí)現(xiàn),分步驟說明如下:(1)獲取區(qū)間范圍[m,n],創(chuàng)建求和變量summe;(2)程序中的外層循環(huán)控制變量i從m遞增到n,依次獲取每一個(gè)區(qū)間內(nèi)的整數(shù)作為判斷對(duì)象;(3)程序中的內(nèi)層循環(huán)控制變量j從2遞增到i-1,程序在每次循環(huán)判斷j是否是外層變量i的因數(shù);(4)若j被判斷是i的因數(shù),利用break語(yǔ)句結(jié)束內(nèi)層循環(huán),進(jìn)行下一次的外層循環(huán);(5)若內(nèi)層循環(huán)過程中,i%j始終不為0,說明i是素?cái)?shù),在該層循環(huán)結(jié)束后執(zhí)行else子句,打印i值,并更新summe,然后進(jìn)行下一次的外層循環(huán);(6)等循環(huán)全部結(jié)束后,打印素?cái)?shù)和。循環(huán)的嵌套處理相對(duì)復(fù)雜的問題Python語(yǔ)言允許在一個(gè)循環(huán)體里面嵌入另一個(gè)循環(huán)??梢栽趂or(while)循環(huán)嵌套for(while)循環(huán),也可以在循環(huán)體內(nèi)嵌入其他的循環(huán)體作用#素?cái)?shù)和1.0m,n=map(int,input('請(qǐng)輸入一個(gè)區(qū)間范圍:').split()) ①summe=0 ①
foriinrange(m,n+1): ②forjinrange(2,i): #j從2到i-1 ③ifi%j==0: ④break ④else: ⑤print(i,end='') ⑤summe+=i ⑤
print('在{}到{}區(qū)間中,所有素?cái)?shù)和={}'.format(m,n,summe)) ⑥
輸出:
請(qǐng)輸入一個(gè)區(qū)間范圍:102011131719在10到20區(qū)間中,所有素?cái)?shù)和=60
循環(huán)的嵌套處理相對(duì)復(fù)雜的問題Python語(yǔ)言允許在一個(gè)循環(huán)體里面嵌入另一個(gè)循環(huán)??梢栽趂or(while)循環(huán)嵌套for(while)循環(huán),也可以在循環(huán)體內(nèi)嵌入其他的循環(huán)體作用建立一個(gè)空列表,每找到一個(gè)素?cái)?shù),就添加進(jìn)該列表中,最后利用sum()對(duì)列表元素求和#素?cái)?shù)和2.0m,n=map(int,input('請(qǐng)輸入一個(gè)區(qū)間范圍:').split())prime=[]foriinrange(m,n+1):forjinrange(2,i): #j從2到i-1ifi%j==0:breakelse:prime.append(i)print('在{}到{}區(qū)間中,總共有{}個(gè)素?cái)?shù),分別是{},所有素?cái)?shù)和={}'.format(m,n,len(prime),prime,sum(prime)))
輸出:請(qǐng)輸入一個(gè)區(qū)間范圍:1020在10到20區(qū)間中,總共有4個(gè)素?cái)?shù),分別是[11,13,17,19],所有素?cái)?shù)和=60
循環(huán)的嵌套約瑟夫環(huán)算法:m個(gè)猴子報(bào)數(shù)選大王,1到n循環(huán)報(bào)數(shù),數(shù)到n出列淘汰,剩下的最后一只猴子就是大王。兩個(gè)功能:(1)讓用戶交互式輸入開始時(shí)的猴子數(shù)m、報(bào)數(shù)的最后一個(gè)數(shù)n;(2)給出當(dāng)選猴王的初始編號(hào)。功能需求m=int(input('總猴子數(shù):')) n=int(input('報(bào)數(shù)到:'))l=[iforiinrange(1,m+1)] #列表解析式,創(chuàng)建m個(gè)猴子的序列
foriinrange(1,n+1):l.remove(l[0])print(l)l.append(l[0])print(l)輸出:總猴子數(shù):10報(bào)數(shù)到:3[2,3,4,5,6,7,8,9,10][2,3,4,5,6,7,8,9,10,2][3,4,5,6,7,8,9,10,2][3,4,5,6,7,8,9,10,2,3][4,5,6,7,8,9,10,2,3][4,5,6,7,8,9,10,2,3,4]循環(huán)的嵌套約瑟夫環(huán)算法:m個(gè)猴子報(bào)數(shù)選大王,1到n循環(huán)報(bào)數(shù),數(shù)到n出列淘汰,剩下的最后一只猴子就是大王。兩個(gè)功能:(1)讓用戶交互式輸入開始時(shí)的猴子數(shù)m、報(bào)數(shù)的最后一個(gè)數(shù)n;(2)給出當(dāng)選猴王的初始編號(hào)。功能需求'''m,n賦值'''lst=[iforiinrange(1,m+1)] #列表解析式 l=lst[:] #利用深拷貝復(fù)制lst#報(bào)數(shù)循環(huán)。報(bào)數(shù)相當(dāng)于從1開始,數(shù)到n表示一批次報(bào)數(shù)完成,總共報(bào)數(shù)n次foriinrange(1,n+1):l.remove(lst[0])l.append(lst[0])
print(l) #更新原序列,此句是后期改變外循環(huán)判斷條件的關(guān)鍵
lst=l[:]輸出:總猴子數(shù):10報(bào)數(shù)到:3[2,3,4,5,6,7,8,9,10,1][3,4,5,6,7,8,9,10,1,2][4,5,6,7,8,9,10,1,2,3] 循環(huán)的嵌套約瑟夫環(huán)算法:m個(gè)猴子報(bào)數(shù)選大王,1到n循環(huán)報(bào)數(shù),數(shù)到n出列淘汰,剩下的最后一只猴子就是大王。功能需求'''m,n,lst,l如上述示例賦值'''foriinrange(1,n+1):
#當(dāng)并非每批次中最后一個(gè)報(bào)數(shù)的猴子
ifi!=n:
#報(bào)完數(shù)后把該猴子從復(fù)制隊(duì)列的第一位調(diào)到復(fù)制隊(duì)列的最后一位
l.remove(lst[0])
l.append(lst[0])
print(l) lst=l[:]
else: #報(bào)數(shù)為n的猴子直接淘汰,不再重新進(jìn)入循環(huán) l.remove(lst[0]) print(l) lst=l[:]輸出:總猴子數(shù):10報(bào)數(shù)到:3[2,3,4,5,6,7,8,9,10,1][3,4,5,6,7,8,9,10,1,2][4,5,6,7,8,9,10,1,2]
循環(huán)的嵌套約瑟夫環(huán)算法:m個(gè)猴子報(bào)數(shù)選大王,1到n循環(huán)報(bào)數(shù),數(shù)到n出列淘汰,剩下的最后一只猴子就是大王。功能需求#約瑟夫環(huán)算法
'''m,n,lst,l如上述示例賦值'''#當(dāng)原列表lst內(nèi)始終有元素時(shí),繼續(xù)循環(huán)whilelen(lst)>1: foriinrange(1,n+1): ifi!=(n): l.remove(lst[0]) l.append(lst[0]) lst=l[:] else: l.remove(l[0]) lst=l[:] #每批次報(bào)數(shù)(即淘汰掉一只猴子)后,顯示新的隊(duì)列排列順序 print(l) #注意print語(yǔ)句的縮進(jìn)位置請(qǐng)輸入猴子總數(shù):10 請(qǐng)輸入要淘汰猴子的報(bào)數(shù):3[4,5,6,7,8,9,10,1,2][7,8,9,10,1,2,4,5][10,1,2,4,5,7,8][4,5,7,8,10,1][8,10,1,4,5][4,5,8,10][10,4,5][10,4][4]
在程序中,循環(huán)結(jié)構(gòu)是常用的控制流結(jié)構(gòu),它能夠讓程序按照特定的條件進(jìn)行循環(huán)執(zhí)行。好的編程思維能夠讓程序更加靈活地應(yīng)對(duì)各種意外情況,提高程序的容錯(cuò)性和可靠性??偨Y(jié)編程思維的豐富性循環(huán)結(jié)構(gòu)的靈活運(yùn)用解析式03列表解析式-格式:[exprforeiniterator]-可與if語(yǔ)句一起使用,用于篩選列表元素
-示例代碼解析lst=[1,2,3,4,5]even_numbers=[xforxinlstifx%2==0]列表解析式lst=[1,2,3,5,6,8,10]res=[xforxinlstifx%2==0]print(res)
輸出:
[2,6,8,10]
#說明列表解析式一定要使用中括號(hào)括起來[[x,y]forxinrange(2)foryinrange(5)]
輸出:
[[0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[1,1],[1,2],[1,3],[1,4]]
lst=[1,2,3,5,6,8,10] [x**2ifx%2==0elsex**3forxinlst]
輸出:[1,4,27,125,36,64,100]
生成器解析式
-格式:(exprforeiniterator)-一邊循環(huán)一邊計(jì)算,節(jié)省內(nèi)存空間
-只能迭代一次
-示例代碼解析generator=(x**2forxinrange(5))>>>g=(x**2forxinrange(10)) >>>print(g)<generatorobject<genexpr>at0x10dd85b30>
#利用list()函數(shù)可以將其轉(zhuǎn)換成列表>>>list(g)[0,1,4,9,16,25,36,49,64,81]
集合解析式
-格式:{exprforeiniterator}-可用于去重
-示例代碼解析lst=[1,2,3,3,4,4,5]unique_numbers={xforxinlst}>>>lst=[1,2,2,3,5,6,8,10]>>>s={x**2forxinlst}>>>print(s){64,1,4,36,100,9,25}
字典解析式-格式:{key_expr:value_exprforeiniterator}-用于創(chuàng)建字典
-示例代碼解析names=['Alice','Bob','Charlie']name_lengths={name:len(name)fornameinnames}>>>{str(x):x**2forxinrange(5)}{'0':0,'1':1,'2':4,'3':9,'4':16} 應(yīng)用示例**使用列表解析式判斷素?cái)?shù)**
-根據(jù)之前的示例進(jìn)行改造
-示例代碼解析num=10factors=[factorforfactorinrange(2,num)ifnum%factor==0]is_prime=len(factors)==0解析式是一種常用的工具,可以讓我們更加靈活地處理和操作數(shù)據(jù)。解析式的靈活運(yùn)用不同的解析式有不同的格式和用法,需要根據(jù)需求選擇合適的類型。根據(jù)需求選擇合適的解析式類型總結(jié)實(shí)驗(yàn):溫度轉(zhuǎn)換器2.004實(shí)驗(yàn):溫度轉(zhuǎn)換器2.0案例描述:根據(jù)章節(jié)2.7中實(shí)現(xiàn)的溫度轉(zhuǎn)換器,完善相關(guān)程序功能:根據(jù)鍵入的對(duì)應(yīng)溫度單位,實(shí)現(xiàn)反向轉(zhuǎn)換。案例分析:1. 根據(jù)輸入字符串,判斷當(dāng)前溫度單位;2. 分別根據(jù)獲得的溫度值,進(jìn)行溫度轉(zhuǎn)換;3. 對(duì)應(yīng)鍵入不符要求的其他情況進(jìn)行處理。實(shí)驗(yàn):溫度轉(zhuǎn)換器2.0代碼TempConvert2.pyTempStr=input("請(qǐng)輸入溫度值,并提供單位(例如37C/200F):") #①
Temp=float(TempStr[:-1])unit=TempStr[-1].lower()ifunit=='f': #②C=(Temp-32)/1.8print("轉(zhuǎn)換后的攝氏溫度是{:.1f}C".format(C))elifunit=='c':
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)效率的飛躍新世代生產(chǎn)設(shè)備介紹
- 幼兒園中國(guó)傳統(tǒng)節(jié)日活動(dòng)方案
- 2023八年級(jí)數(shù)學(xué)下冊(cè) 第二章 一元一次不等式與一元一次不等式組6 一元一次不等式組第2課時(shí) 一元一次不等式組的解法(2)說課稿 (新版)北師大版001
- 12 寓言二則 說課稿-2023-2024學(xué)年語(yǔ)文二年級(jí)下冊(cè)統(tǒng)編版001
- 8我們受特殊保護(hù) 第二課時(shí)《專門法律來保護(hù)》說課稿-2024-2025學(xué)年六年級(jí)上冊(cè)道德與法治統(tǒng)編版
- 25《慢性子裁縫和急性子顧客》說課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)下冊(cè)
- Module 1(說課稿)-2023-2024學(xué)年外研版(一起)英語(yǔ)一年級(jí)下冊(cè)
- Module6 Unit2 He ran very fast(說課稿)2024-2025學(xué)年外研版(三起)英語(yǔ)五年級(jí)上冊(cè)
- 28 少年閏土 說課稿-2024-2025學(xué)年統(tǒng)編版六年級(jí)上冊(cè)
- 22《狐假虎威》第二課時(shí) 說課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文二年級(jí)上冊(cè)
- 社區(qū)成人血脂管理中國(guó)專家共識(shí)(2024年)
- 信息科技重大版 七年級(jí)上冊(cè) 互聯(lián)網(wǎng)應(yīng)用與創(chuàng)新 第1單元 單元教學(xué)設(shè)計(jì) 互聯(lián)網(wǎng)時(shí)代
- CR200J動(dòng)力集中動(dòng)車組拖車制動(dòng)系統(tǒng)講解
- 骨盆骨折患者的護(hù)理
- 國(guó)際貨物運(yùn)輸委托代理合同(中英文對(duì)照)全套
- 全面新編部編版四年級(jí)下冊(cè)語(yǔ)文教材解讀分析
- 江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握小堵殬I(yè)技能測(cè)試》參考試題庫(kù)(含答案)
- 三年級(jí)上冊(cè)脫式計(jì)算100題及答案
- 烹飪實(shí)訓(xùn)室安全隱患分析報(bào)告
- 《金屬加工的基礎(chǔ)》課件
- 運(yùn)輸行業(yè)春節(jié)安全生產(chǎn)培訓(xùn) 文明駕駛保平安
評(píng)論
0/150
提交評(píng)論