Python基礎-5-條件分支與迴圈
阿新 • • 發佈:2021-07-12
條件分支(程式設計中的邏輯)
條件分支是計算機程式設計領域中的一個重要組成部分,不論哪種程式語言都存在分支機構。
- 通俗的來說就是滿足某種條件的時候去幹某事,而不滿足的時候幹另外一件事。
在程式碼裡面來說就是,滿足 if 關鍵字後面的條件時就執行 if 下面的程式碼塊,不滿足就執行 else 下面的程式碼。 - 在Python中使用空白(空格/製表符-Tab)來標識程式碼塊,所有縮緊在同一層級的程式碼被看作是同一個程式碼塊。利用程式碼塊和if組合起來,使Python清楚的知道條件滿足需要執行哪些程式碼,而條件不滿足的時候要從哪開始執行程式碼。
num = 5 if num == 5: print(num) else: print("test")
- 這會可能有任會問了,如果有多個條件呢,總不能一直if-else去寫吧。
當然不需要了,請看下面示例
num = 5
if num == 1:
pring("num = 1")
elif num == 5:
pring("num = 5")
else:
pring("num不是數字")
在Python 中條件通常是通過對值進行比較的方式而構建出來的。使用比較運算子即可對值進行比較。而比較的結果不是真(True)就時假(False),正好符合了bool(布林型別);
例如上述程式碼中的 num = 5
就會返回True,num = 1
. 返回False。
在Python中對每種資料型別也給出了為假(False)的方式,如下圖:
迴圈
迴圈的作用就是讓指定的程式碼重複的執行,而在Python中有兩種常用的迴圈,分別時while和for,下面分別介紹兩種迴圈
whlie
while 條件():
條件滿足時,做的事情1
條件滿足時,做的事情2
......
- 基本用法
# 定義一個整數變數,記錄迴圈的次數
i=1
# 開始迴圈
while i <= 3:
# 希望迴圈內執行的程式碼
print('hello python')
# 處理計數器
i+=1
需要注意的是,使用while
迴圈時,一定要給出迴圈結束的條件,不然就成死迴圈了,例如:
while True:
print('hello python')
具體用法:
# 大家可以通過下面的猜數字遊戲體會:
"""
猜數字遊戲:
1.系統隨機生成一個1~100的數字;
2.使用者共有5次機會猜;
3.如果使用者猜測數字大於系統給出的數字,列印"too big"
4.如果使用者猜測數字小於系統給出的數字,列印"too small"
5.如果使用者猜測的數字等於系統給出的數字,列印"恭喜中獎",並退出迴圈
"""
import random
num = random.randint(1,100)
print(num)
i = 1
while i <= 5:
ans = int(input("請猜數:"))
if ans > num:
print("too big,還剩%d次機會"%(5-i))
elif ans < num:
print("too small,還剩%d次機會"%(5-i))
else:
print("恭喜中獎!!!")
break
i += 1
for
Python中的for迴圈是通過遍歷某一序列物件的來構建迴圈,結束條件就是隊形被遍歷完成/或者滿足某種條件以後使用break
關鍵字
for i in [1, 2, 3, 4]:
# 如果不新增if語句,會將列表中的所有元素全部遍歷一遍,新增以後,當i=3的時候就會執行break,然後結束迴圈
if i == 3:
break
print(i)
>>> 1 2
還有一種是結合range()
函式去使用的
list_1 = [1, 2, 3, 4]
for index in range(list_1):
# 現在的index是沒次獲取的列表元素中的下標
print(index)
>>> 0 1 2 3
在for迴圈中,還有一個關鍵字可以結合使用,那就是continue
,作用是跳過檔次迴圈
for i in [1, 2, 3, 4]:
if i == 3:
continue
print(i)
>>> 1 2 4
還有一種複雜一點的操作,就是巢狀for迴圈
例如:9 9乘法表
for i in range(1,10):
for j in range(1,i+1):
print('%d * %d = %d\t' %(i,j,i*j),end='')
print()