1. 程式人生 > >python語法入門之流程控制

python語法入門之流程控制

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的下一輪迴圈

&n