Python流程控制

2021-09-14 07:03:00 字數 4395 閱讀 1370

3 迴圈結構

所謂的流程,即程式執行的過程。之前我們接觸的程式,都是按部就班,自頂而下的去執行的,我們稱這種程式結構為順序結構。

程式的三種結構:

縮排的語法

縮排大小隨意,但是要保持一致。按照慣例,使用4個空格。

num=

int(

input

("請輸入你的彩票號:"))

if num==

123:

print

("恭喜你中了500w"

)

提供兩條分支。

num=

int(

input

("請輸入你的彩票號:"))

if num==

123:

print

("恭喜你中了500w"

)else

:print

("再接再厲"

)

注意多選擇分支時,分支順序的重要性。【分兩種情況】

輸入學生的成績,根據成績輸出對應的等級。

#60以下不及格,60-80及格,80以上優秀

score=

int(

input

("請輸入成績:"))

if60

> score:

print

("不及格"

)elif

60<= score <=80:

print

("合格"

)elif

80<= score <=

100:

print

("優秀"

)

else為最後一條分支

score=

float

(input

("請輸入成績:"))

if0<= score <60:

print

("不及格"

)elif

60<= score <=80:

print

("及格"

)elif

80<= score <=

100:

print

("優秀"

)else

:print

("輸入有誤"

)

if-else簡化版類似於其他語言中的三元運算子。格式如下:

表示式1 if 條件表示式 else 表示式2

其中,條件表示式執行條件判斷,如果條件表示式的值為true,則返回表示式1的值,否則返回表示式2的值。

q =

"yes"if2

>

1else

"no"

print

(q)

if是可以進行巢狀使用的,用來多層選擇分支的判斷。

性別:男-》開發組,女-》測試組

開發:經驗大於5年(開發經理),否則(開發組員)。

測試:有過開發經驗(白盒),否則(黑盒)

a =

input

("請輸入性別:"

)if a==

"男":

b =int(

input()

)if b >=5:

print

("開發經理"

)else

:print

("開發組員"

)else

: c =

input

("有無開發經驗?(y/n)"

)if c==

"y":

print

("白鶴測試"

)else

:print

("黑河測試"

)

迴圈就是重複性的執行一件相同或相似的事情(執行多次)。

在控制台上輸出5行*號。

range函式,對可迭代物件中的每乙個值賦值給in前面的變數,然後執行一次迴圈體。注意range函式三個引數的使用。

# 列印5遍print("*")

#for 迴圈變數 in 序列

#range()包頭不包尾

for x in

range(0

,5):

print

("*"

)

while 條件:

迴圈體要寫初始值、界限、變數

# 列印5遍 ***x=1

while x <=5:

x +=

1print

("***"

)

#輸入乙個數,求它的階乘

# for in 迴圈

x =int

(input

("輸入乙個數:"))

s =1

for i in

range(1

,x+1):

s*= iprint

(x,"的階乘是:"

,s)# while迴圈

start =

int(

input

("input:"))

multi =

1#乘積初始值

index =

1#階乘起始1

while index <= start:

#multi = multi * index

multi *=index

#index = index + 1

index +=

1print

(start,

"的階乘是:"

,multi)

迴圈巢狀,是指外層迴圈的內部,還有內層迴圈,即內層迴圈作為外層迴圈的迴圈體。當迴圈巢狀時,外層迴圈每執行一次,內層迴圈都會完整的執行一輪(內層迴圈有多少次就執行多少次)。如果外層迴圈會執行m次,內層迴圈會執行n次,則總共會執行m * n次。

#外層迴圈,控制行數

for i in

range(1

,6):

#內層迴圈,控制每行*的個數

for j in

range(1

,i+1):

#因為print()自帶乙個\n,會預設換行,所以通過end="",取消自動換行

print

("*"

,end ="")

# 每行執行完後換行

print()

# 不使用巢狀

for i in

range(6

):print

("*"

*i)# result***

*******

****

*

break只能用在迴圈中。

迴圈跳出,不再執行。

else可以跟隨在for或while迴圈之後,當迴圈正常執行完畢,會執行else語句,如果迴圈非正常執行完畢,而是通過break跳出迴圈,則else語句塊不會得到執行。else語句是可選的。

# break

while

true

: num =

int(

input

("請輸入乙個數:"))

if num ==1:

break

else

:pass

print

("繼續輸入"

)print

("條件滿足,跳出迴圈不執行!"

continue只能用在迴圈語句中。

跳出當前迴圈,繼續執行下次迴圈。

break與continue基本只會用在選擇判斷中。無條件的break與continue雖然語法上沒有錯誤,但從實際的角度來說是沒有意義的。

# continue

while

true

: num =

int(

input

("請輸入乙個數:"))

if num ==1:

continue

else

:pass

print

("繼續輸入!"

)print

("條件滿足,跳出迴圈不執行!"

從上例可以看出,使用continue只是跳出了當前的迴圈,然而並沒有結束程式,而是從頭開始重新執行;而break找到了滿足條件的值,直接跳出整個迴圈,結束程式

python流程控制 python之流程控制

電腦程式在解決某個具體問題時,包括三種情形,即順序執行所有的語句 選擇執行部分的語句和迴圈執行部分語句,這正好對應著程式設計中的三種程式執行結構流程 順序結構 選擇結構和迴圈結構。事實證明,任何乙個能用計算機解決的問題,只要應用這三種基本結構來寫出的程式都能解決。python語言當然也具有這三種基本...

Python流程控制語句流程控制語句

流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...

python 流程控制

coding utf 8 if判斷 任何非零數字或非空物件都為真 數字0,空物件以及特殊物件none都是false result 1 and 1 2 print result 三中布林表示式運算 and 與運算 or 或運算 not 非運算 cond1 1 cond2 1 2 if cond1 an...