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