迴圈控制
迴圈巢狀
運算子優先順序參照表.
語法:if 條件表示式 :
**塊**塊**塊中儲存著一組**,同乙個**塊中的**,要麼都執行要麼都不執行
**塊以縮排開始,直到**恢復到之前的縮排級別時結束
**塊就是一種為**分組的機制
if的條件比較的型別不同,會報錯,需要使用int()等方法強制型別轉換再進行比較(eval()可去掉字串的』 ')
if 條件表示式 :
**塊else :
**塊
value =
100if value >=
100:
print
('a'
)elif value >=50:
print
('b'
)elif value >=20:
print
('c'
)else
:print
('d'
)
if 條件表示式 :
**塊elif 條件表示式 :
**塊elif 條件表示式 :
**塊........
else :
**塊
總結: if-elif-else中只會有乙個**塊會執行
while 條件表示式 :
**塊else:
**塊
while 表示式:
while 表示式:
**塊**塊
for 變數 in 迴圈規則:
for 變數 in 迴圈規則:
**塊**塊
例項:
列印乙個金字塔
i =
0while i <5:
j =0while j < i+1:
print
("*"
,end="")
j +=
1print()
i +=
1#輸出結果為:***
*******
****
*
i =
0while i <5:
j =0while j <
5-i:
print
("*"
,end="")
j +=
1print()
i +=
1#輸出結果為:
*******
*******
*
實戰演練:
求1000以內所有的水仙花數
for x in
range(9
):for y in
range(9
):for z in
range(9
):i = x*
100+ y*
10+ z
if( i == x**
3+ y**
3+ z**
3and i >
100)
:print
(i)
獲取使用者輸入的任意數,判斷其是否是質數?
x =
int(
input
("請輸入乙個數字:"))
if(x >1)
:for i in
range(2
,x):
if(x%i ==0)
:print
(f"不是質數"
)break
else
:print
(f"是質數"
)else
:print
(f"不是質數"
)
猜拳遊戲:• 出拳 玩家:手動輸入 電腦:隨機輸入
• 判斷輸贏: 玩家獲勝 電腦獲勝 平局
x =
input
("請輸入'石頭','剪刀','布':"
)l =
['石頭'
,'剪刀'
,'布'
]y = random.choice(l)
if(x == y)
:print
(f"vs,平局"
)elif
(x ==
'石頭'):
if l ==
'剪刀'
:print
("石頭vs剪刀,勝利"
)else
:print
("石頭vs布,失敗"
)elif
(x ==
'剪刀'):
if l ==
'布':
print
("剪刀vs布,勝利"
)else
:print
("剪刀vs石頭,失敗"
)elif
(x ==
'布')
:if l ==
'石頭'
:print
("布vs石頭,勝利"
)else
:print
("布vs剪刀,失敗"
)
C 條件運算子(三目運算子)
在某些情況下,可以用條件運算子 來簡化if語句。是乙個三元運算子,其構成的表示式格式為 表示式1 表示式2 表示式3 條件運算子的執行流程示意圖如上圖所示,描述如下 1 計算表示式1的值 2 若表示式的值為真 或非0 則只計算表示式2,並將其結果作為整個表示式的值 反之,即表示式1的值為假 或為0 ...
C 條件運算子(三目運算子)
在某些情況下,可以用條件運算子 來簡化if語句。基本格式 是乙個三元運算子,其構成的表示式格式為 表示式1 表示式2 表示式3 執行流程 條件運算子的執行流程示意圖如上圖所示,描述如下 1 計算表示式1的值 2 若表示式的值為真 或非0 則只計算表示式2,並將其結果作為整個表示式的值 反之,即表示式...
C語言 條件運算子 三目運算子
1 if a b else max a b a b 無論a b是否滿足,都向同乙個變數賦值 條件運算子優先於賦值運算子,所以先求解條件表示式,再將它的值賦值給max 2 a b printf d n a printf d n b 注意此處表示式後面沒有 a b a 100 b 200 表示式2和表示...