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...