1. 程式人生 > >Python語法之選擇和迴圈(if、while)

Python語法之選擇和迴圈(if、while)

前言:在程式開發中,一共有三種流程方式:
順序:從上向下,順序執行程式碼
分支:根據條件判斷,決定執行程式碼的分支
迴圈:讓特定程式碼重複執行(解決程式設計師重複工作)

1.判斷的定義:
如果條件滿足,才能做某件事
如果條件不滿足,就做另外一件事情,或者什麼也不做
正是有了判斷,才使得程式世界豐富多彩,充滿變化(程式不再從上到下的‘呆板’執行了)
判斷語句又被稱為‘分支語句’,正是因為有了判斷,才讓程式有了很多的分支
2.if 判斷語句的基本語法
if 要判斷的條件:
條件成立時,要做的事情
注意:程式碼的縮排為一個 tab 鍵,或者四個空格(pycharm 自動幫我們增加)
在 python 開發中,Tab 和空格不要混用



這裡寫圖片描述

這裡寫圖片描述
else,格式如下 #注意 else 必須配合 if 使用,而其 else 後不跟條件

if 要判斷的條件:
條件成立時,要做的事情
……
else:
條件不成立時,要做的事情
……
if 和 else 語句以及各自的縮排部分是一個完整的程式碼塊


這裡寫圖片描述

這裡寫圖片描述
3.邏輯運算
在程式開發中,通常在判斷條件時,會需要同時判斷多個條件
只有多個條件都滿足,才能夠執行後續程式碼,這個時候需要使用到邏輯運算子
邏輯運算子可以把多個條件按照邏輯進行連線,變成更復雜的條件

python 中的邏輯運算子包括:與 and/或 or/非 not 三種

【1】and
條件 1 and 條件 2
與/並且
兩個條件同時滿足,返回 True
只需有一個不滿足,就返回 False
【2】or
條件 1 or 條件 2
或/或者
兩個條件只要有一個滿足,返回 True
兩個條件都不滿足,返回 False
【3】not
對一個條件取反:not 條件
邏輯運算演練
1.練習:定義一個整數變數 age,編寫程式碼判斷年齡是否正確要求人的年齡在 0~120 之間


2.練習:定義兩個整數變數math_score ,pe_score,編寫程式碼判斷成績
3.練習:定義一個布林型變數 is_student,編寫程式碼判斷是否是學生

這裡寫圖片描述
4.if 語句進階:elif

在開發中,使用 if 可以判斷條件
使用 else 可以處理條件不成立的情況
但是,如果希望再增加一些條件,條件不同,需要執行的程式碼也不同,就可以使用elif
語法格式如下:
if 條件 1:
條件 1 滿足執行的程式碼
elif 條件 2:
條件 2 滿足時,執行的程式碼
else:
以上條件都不滿足時,執行的程式碼


注意:
elif 和 else 都必須和 if 聯合使用,而不能單獨使用
可以將 if,elif 和 else 以及各自縮排的程式碼,看成一個完整的程式碼塊



elif例項:

這裡寫圖片描述
5.if 的巢狀:
在開發中,使用 if 進行條件判斷,如果希望在條件成立的執行語句中再增加條件判斷,就可以使用 if 的巢狀
if 的巢狀的應用場景就是:在之前的條件滿足的前提下,再增加額外的判斷
if 的巢狀的語法格式,除了縮排之外和之前的沒有區別
這裡寫圖片描述

這裡寫圖片描述
6.綜合應用
綜合應用–石頭剪刀布
1.從控制檯輸入要出的拳 —石頭(1)/剪刀(2)/布(3)
2.電腦隨即出拳–先假定電腦只會出石頭,完成整體程式碼功能
3.比較勝負
石頭 勝 剪刀
剪刀 勝 布
布 勝 石頭

這裡寫圖片描述

1,while 迴圈的基本使用
迴圈的作用就是讓指定的程式碼重複的執行
while 迴圈最常用的應用場景就是讓執行的程式碼按照指定的次數重複執行

這裡寫圖片描述
while 語句及縮排部分是一個完整的程式碼塊
2.賦值運算子
在 python 中,使用=可以給變數賦值
在算術運算時,為了簡化程式碼的編寫,python 還提供了一系列的與算術運算子對
應的賦值運算子
注意:賦值運算子中間不能使用空格
+=
eg: a+=b 等效於 a=a + b
-=
*=
/=
//=
%=
‘**=’
3.python 中的計數方法
常見的計數方法有兩種,可以分為
自然計數法(從 1 開始) – 更符合人類的習慣
程式計數法(從 0 開始) – 幾乎所有的程式語言都選擇從 0 開始計數
迴圈計算
在程式開發中,通常會遇到利用迴圈重複計算的需求
遇到這種情況:
1.在 while 上方定義一個變數,用於存放最終的計算結果
2.在迴圈體內部,每次迴圈都用最新的計算結果,更新之前定義的變數
需求:
計算 0~100 之間所有數字的累計求和的結果

這裡寫圖片描述
需求進階:
計算 0~100 之間所有偶數的累計求和

這裡寫圖片描述
需求:計算2-3+4-5+6+……+100之和

這裡寫圖片描述
4.break 和 continue
break 和 continue 是專門在迴圈中使用的關鍵字
break 某一條滿足時,退出迴圈,不再執行後續重複的程式碼
continue 某一條滿足時,不執行後續重複的程式碼,其他條件統統要執行
break 和 continue 只針對當前所在迴圈有效
【break練習】

這裡寫圖片描述
【continue練習】

這裡寫圖片描述
5.迴圈巢狀
【1】在控制檯連續輸出五行*,每一行星號的數量依次遞增

這裡寫圖片描述
【2】九九乘法表

這裡寫圖片描述
字串的轉義字元
\t:在控制檯輸出一個製表符,協助在輸出文字時垂直方向保持對其
\n:在控制檯輸出一個換行符製表符的功能是在不使用表格的情況下在垂直方向按列對齊文字
\t:在控制檯輸出一個製表符,協助在輸出文字時垂直方向保持對其
不加\t 無法對齊