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.。。。程式碼塊執行完之後會重新判斷是否滿足條件,若滿足,則會再次執行程式碼塊。

 

img

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的下一輪循環