python語法入門之流程式控制制
- 2019 年 11 月 4 日
- 筆記
python語法入門之流程式控制制
流程式控制制是指控制流程,具體指控制程式執行的流程。
流程式控制制分為三種:
1.順序結構 程式從上而下的正常執行(正常執行的程式碼就是順序結構)
2.分支結構 賦予程式人的思維邏輯進行判斷。(用if進行判斷)
3.循環結構 讓程式進行重複的判斷。(用while,或者for)
分支結構
分支結構就是根據條件與你定義的參數進行判斷。若滿足條件1則執行程式碼塊1,若不滿足,則與下麵條件相對比。。直到語句結束。
if語句用法:
if 條件1: #如果條件1成立,則執行程式碼塊1,若不成立,則執行下一個判斷
程式碼塊1
elif 條件2: # 如果條件2成立,則執行程式碼塊2,若不成立,則執行下一個判斷
程式碼塊2
………
elif 條件n: # 如果條件n成立,則執行程式碼塊n,若不成立,則執行下一個判斷
程式碼塊n
else: #如果以上的條件都沒成立,則執行程式碼塊n+1
程式碼塊n+1
if語句是從上往下執行的,一但滿足條件,則會執行相應的程式碼塊,並結束這個if語句。
例如:
如果:成績>=90,那麼:優秀
如果成績>=80且<90,那麼:良好
如果成績>=70且<80,那麼:普通
其他情況:很差
score = input('請輸入成績:')
score = int(score) #因為input輸入的無論什麼,都會變成字元串類型的。
if score >= 90: #字元串類型是沒有辦法和數字進行比較,所以必須先改為int類型
print('優秀')
elif score >= 80:
print('良好')
elif score >= 70
print('普通')
else:
print('很差')
if嵌套的使用
女人的年齡>=18並且<22歲並且身高>170並且體重<100並且是漂亮的
那麼:表白,否則:叫阿姨 如果表白成功,那麼:在一起 否則:列印。。。
age = 18
height = 171
weight = 98
is_beautiful = True
if 22 > age >= 18 and height > 170 and weight < 100 and is_beautiful:
print('I love you', end=' ')
a = input('我想讓你得到我,可以嗎:')
if a == '可以':
print('在一起')
else:
print('什麼愛情不愛情的,愛nmlgb的愛情,愛nmlg啊')
else:
print('阿姨好')
循環結構
循環結構就是如果滿足條件則會一直循環改程式碼塊
因為人類某些時候需要重複做某件事情,所以就衍生出了循環結構
while循環語法
while 條件:
程式碼塊1
程式碼塊2
程式碼塊3
。。。
執行邏輯為,如果滿足條件,則會執行程式碼塊1,再執行程式碼塊2,程式碼塊3.。。。程式碼塊執行完之後會重新判斷是否滿足條件,若滿足,則會再次執行程式碼塊。
break:結束本層循環,只能結束當前這層循環。 重
continue:跳過本層循環,直接進行下一次循環。 點
案例:進行一個用戶登陸系統,輸入密碼輸錯3次,則鎖定用戶3分鐘。登陸成功則可以輸入命令。輸入exit則退出程式。
import time
from_db_username = 'white'
from_db_password = '123'
count = 0
while count < 3:
username = input('請輸入您的用戶名:')
password = input('請輸入您的密碼:')
if from_db_username == username and from_db_password == password:
print('登陸成功')
while True:
cmd = input('>>>:')
if cmd == 'exit':
break
else:
print(f'執行命令{cmd}')
break
else:
print('登陸失敗3次,鎖定用戶3分鐘')
count += 1
if count == 3:
print('鎖定用戶3分鐘')
time.sleep(180)
案例: 列印1到10之間,除7以外的所有數字 。
count = 0
while count < 10:
count += 1
if count == 7:
continue
else:
print(count)
for循環
for循環語法
循環結構的第二種實現方式是for循環,for循環可以做的事情while循環都可以實現,之所以用for循環是因為在循環取值(即遍歷值)時for循環比while循環的使用更為簡潔 。
for 變數名 in 可迭代對象:
程式碼塊1
程式碼塊2
程式碼塊3
……..
案例
for循環嵌套: 請用for循環嵌套的方式列印如下圖形
*****
*****
*****
for i in range(3):
for j in range(5):
print('*', end='')
print()
列印九九乘法表
for i in range(1, 10): #先取出1到9的數字
for j in range(1, i+1): #定義一個j取1到i的數字
print(f'{j}*{i}={i*j}', end=' ') #進行格式話輸出輸出格式為 1*1=1 同時將換行符換
if i * j < 10: #為空格
print(end=' ') #i*j小於10的話則多輸出一個空格
print() #當j執行結束後將換行符取消掉,再進行i的下一輪循環