python程序流程控制_python流程控制
計(jì)算機(jī)程序在解決某個(gè)具體問題時(shí),包括三種情形,即順序執(zhí)行所有的語(yǔ)句、選擇執(zhí)行部分的語(yǔ)句和循環(huán)執(zhí)行部分語(yǔ)句,這正好對(duì)應(yīng)著程序設(shè)計(jì)中的三種程序執(zhí)行結(jié)構(gòu)流程:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
事實(shí)證明,任何一個(gè)能用計(jì)算機(jī)解決的問題,只要應(yīng)用這三種基本結(jié)構(gòu)來寫出的程序都能解決。Python語(yǔ)言當(dāng)然也具有這三種基本結(jié)構(gòu)。
一、選擇結(jié)構(gòu)(if語(yǔ)句)
1、if語(yǔ)句的結(jié)構(gòu):
if <條件1>:
<語(yǔ)句1>
elif <條件2>:
<語(yǔ)句2>
else:
<語(yǔ)句3>
此時(shí),條件1成立時(shí)執(zhí)行語(yǔ)句1,;條件2成立時(shí)執(zhí)行語(yǔ)句2;條件1和條件2都不成立時(shí)執(zhí)行語(yǔ)句3。
實(shí)例:
x = int(input("請(qǐng)輸入您的總分:"))if x >= 90:print('優(yōu)')elif x>=80:print('良')elif x >= 70:print('中')elif x >= 60:print('合格')else:print('不合格')
需要注意的是:在使用多個(gè)elif語(yǔ)句的分支結(jié)構(gòu)時(shí),應(yīng)把握好多個(gè)條件語(yǔ)句之間的關(guān)系。只要有一個(gè)條件成立,就會(huì)將其后的語(yǔ)句執(zhí)行,執(zhí)行后退出整個(gè)if語(yǔ)句。
實(shí)例:
x = int(input("請(qǐng)輸入您的總分:"))if x >= 90:print('優(yōu)')elif x>=80:print('良')elif x >= 60:print('合格')elif x >= 70:print('中')else:print('不合格')
此時(shí)程序中的print('中')語(yǔ)句永遠(yuǎn)不會(huì)執(zhí)行,因?yàn)楫?dāng)輸入[70,80)這個(gè)區(qū)間的數(shù)時(shí)先判斷x>=60成立,則執(zhí)行其后的語(yǔ)句并輸出合格,之后退出if語(yǔ)句。
2、三元運(yùn)算符
if語(yǔ)句可以使用在一個(gè)單語(yǔ)句中,實(shí)現(xiàn)三元運(yùn)算符,基本形式:<表達(dá)式1> if <條件> else <表達(dá)式2>
3、if語(yǔ)句的嵌套
if<條件>:
if<條件>:
<語(yǔ)句1>
elif<條件>:
<語(yǔ)句2>:
else:
<語(yǔ)句3>
編寫條件語(yǔ)句時(shí),應(yīng)該盡量避免使用嵌套語(yǔ)句。嵌套語(yǔ)句不便于閱讀,而且可能會(huì)忽略一些可能性。
二、for循環(huán)語(yǔ)句
1、for語(yǔ)句的結(jié)構(gòu):
Python語(yǔ)言中的for語(yǔ)句與其他高級(jí)程序設(shè)計(jì)語(yǔ)言有很大的不同,其他高級(jí)語(yǔ)言for語(yǔ)句要用循環(huán)控制變量來控制循環(huán)。Python中for語(yǔ)句是通過循環(huán)遍歷某一序列對(duì)象(字符串、列表、元組等)來構(gòu)建循環(huán),循環(huán)結(jié)束的條件就是對(duì)象被遍歷完成。
for語(yǔ)句的形式如下:
for <循環(huán)變量> in <循環(huán)對(duì)象>:
<語(yǔ)句1>
else:
<語(yǔ)句2>
else語(yǔ)句中的語(yǔ)句2只有循環(huán)正常退出(遍歷完所有遍歷對(duì)象中的值)時(shí)執(zhí)行。
實(shí)例:
for num in range(10,20):for i in range(2,num):if num % i ==0:
j= num/iprint("%d等于%d*%d" %(num,i,j))break
else:print("%d是一個(gè)質(zhì)數(shù)" % num)
2、range()函數(shù)
for語(yǔ)句的循環(huán)對(duì)象可以是列表、元組以及字符串,可以通過range()函數(shù)產(chǎn)生一個(gè)迭代值,以完成計(jì)數(shù)循環(huán)。
range( [start,] stop [, step])
實(shí)例:
>>> for i in range(5):print(i)
01
2
3
4
>>> for i in range(0,10,3):print(i)
03
6
9
for語(yǔ)句使用range()函數(shù)可以構(gòu)建基于已知循環(huán)次數(shù)的循環(huán)程序,也可以以range()生成的數(shù)字作為索引來訪問列表、元組、字符串中的值。
需要注意的是,range() 函數(shù)返回的對(duì)象表現(xiàn)為它是一個(gè)列表,但事實(shí)上它并不是,range()函數(shù)并不是在調(diào)用時(shí)一次生成整個(gè)序列,而是遍歷一次才產(chǎn)生一個(gè)值,以減少內(nèi)存的占用,其本質(zhì)是一個(gè)迭代器。
如:
>>> range(10)
range(0,10)>>> type(range(10))
>>> list(range(10))
[0,1, 2, 3, 4, 5, 6, 7, 8, 9]
三、while循環(huán)語(yǔ)句
for語(yǔ)句以遍歷對(duì)象的方式構(gòu)造循環(huán),有時(shí)卻需要構(gòu)造一種類似無(wú)限循環(huán)的程序控制結(jié)構(gòu)或某種不確定運(yùn)行次數(shù)的循環(huán),就需要使用while語(yǔ)句
1、while語(yǔ)句結(jié)構(gòu):
while語(yǔ)句的基本形式如下:
while<條件>:
<語(yǔ)句1>
else:
<語(yǔ)句2>
與for循環(huán)不同的是,while語(yǔ)句只有在測(cè)試條件為假時(shí)才會(huì)停止。
實(shí)例:
count =0while count < 5:print(count, "is less than 5")
count= count + 1
else:print(count, "is not less than 5")
四、break語(yǔ)句、continue語(yǔ)句、pass語(yǔ)句
break語(yǔ)句用在while和for循環(huán)中,break語(yǔ)句用來終止循環(huán)語(yǔ)句,即循環(huán)條件沒有False條件或者序列還沒被完全遞歸完,也會(huì)停止執(zhí)行循環(huán)語(yǔ)句。
continue語(yǔ)句用在while和for循環(huán)中,continue 語(yǔ)句用來告訴Python跳過當(dāng)前循環(huán)的剩余語(yǔ)句,然后繼續(xù)進(jìn)行下一輪循環(huán)。 continue 語(yǔ)句跳出本次循環(huán),而break跳出整個(gè)循環(huán)。
Python pass是空語(yǔ)句,是為了保持程序結(jié)構(gòu)的完整性。pass 不做任何事情,一般用做占位語(yǔ)句。
實(shí)例:
for i in range(10):if i%2 ==0:continue
print(i)if i>=7:break
else:print("循環(huán)結(jié)束")1
3
5
7
總結(jié)
以上是生活随笔為你收集整理的python程序流程控制_python流程控制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python函数的命名_18:命名, 变
- 下一篇: python制作好看的界面_【一点资讯】