12.程式程式設計基礎6:選擇和迴圈
正常情況下,我們完成一件事情的過程中,可能會存在多種條件限制 如:使用者去ATM機取錢->輸入取款密碼->輸入正確,取錢成功 | 輸入錯誤,退卡。 這樣的情況下,需要根據不同的條件,執行不同的邏輯處理過程,反映在我們的程式中也是一樣的,也就是我們接下來要說的程式結構
1. 程式結構
程式按照執行的過程進行結構的劃分,一般包含三種結構 * 順序結構:按照順序依次逐行執行程式碼的過程 * 選擇結構:程式按照不同的條件執行不同的處理程式碼的過程 * 迴圈結構:程式按照指定的條件,如果條件滿足就重複指定一端處理程式碼的過程
順序結構,就是入門程式中寫的程式碼,不做贅述
1.2 選擇結構
選擇結構語法 ```
# expression是一個表示式判斷條件,表示式執行結果為True或者False
if expression:
# 選擇結構中執行的程式碼,程式碼縮排4個空格[強制規範]
executor code
以下三種選擇結構的使用方式
# 單個if選擇結構
expr = "下雨了"
if expr == "下雨了": # 判斷條件 expr和"下雨了"字串判斷相等為true
print("打傘"); # 條件為True,執行if程式碼塊
print("出門");
----
程式碼執行結果:打傘 出門
# if-else選擇結構
if expr == "下雨了":
print("宅在家裡吧")
else:
print("出門去逛吃逛吃");
----
程式碼執行結果:宅在家裡吧
# 多個if選擇分支
user = "admin"
if user == "admin":
print("管理員登入系統")
elif user == "manager"
print("會員登入系統");
else:
print("遊客登入系統")
----
程式碼執行結果:管理員登入系統
```
注意:python中不提供switch-case語法結構
2. 迴圈結構
程式結構中的迴圈結構,用於重複執行一段相同處理邏輯的程式碼。 如:要計算1~10的加法運算,我們常規的可以通過1+2+...+10來進行編碼運算;但是1~100甚至1~10000的疊加運算,普通的編碼方式就不適合了,此時就需要用到迴圈結構
python提供了兩種迴圈結構 * for [variable] in [list] 迴圈 * while [expression] 迴圈
下面,就兩種迴圈分別進行講解
2.1. for..in迴圈結構
語法結構: ```
for 變數 in 一組資料的列表:
直接使用變數
-----
如下面的案例:
users = ["生化魔人扎克", "暗黑元首辛德拉", "懲戒之箭維魯斯", "凜冬之怒瑟莊妮", "戰爭女神希維爾"]
for u in users:
print("name: " + u);
----
執行結果:
name: 生化魔人扎克
name: 暗黑元首辛德拉
name: 懲戒之箭維魯斯
name: 凜冬之怒瑟莊妮
name: 戰爭女神希維爾
同樣的,我們也可以使用python內建的函式來動態生成列表,對動態列表也是可以迴圈進行處理的
# 計算1~100自然數的和
for num in range(101):
sum += num;
print (sum)
----
執行結果:5050
```
2.2. while迴圈結構
python為了方便通過條件進行資料的迴圈控制,提供了while迴圈,當條件滿足時重複執行,當條件不滿足時跳出迴圈 while迴圈語法結構 ```
while 條件表示式:
迴圈體中的程式碼
如:判斷當使用者的賬號和密碼都為admin時提示登入成功,否則要求重新輸入
# 定義儲存使用者登入賬號的變數
username = "";
# 定義儲存使用者登入密碼的變數
password = "";
# 定義判斷使用者賬號密碼輸入正確/錯誤的狀態
status = false;
while username != "admin" or password != "admin":
if status:
print("賬號或者密碼有誤, 請重新輸入")
username = input("請輸入賬號:");
password = input("請輸入密碼:");
status = true;
print("登入成功");
-----
大家可以自行編寫程式碼執行一下,檢視一下執行結果
```
2.3. break關鍵字
break關鍵字,主要用在迴圈體的程式碼中,用於在滿足一定條件時跳出迴圈 如:計算1~100的和,如果一旦出現17,就不繼續執行了 ```
sum = 0;
for x in range(101):
if x == 17:
break;
sum += x;
print("程式執行完成,輸出結果:" + str(sum));
```
我們在專案開發過程中,經常會遇到類似的情況,如果一旦要在一定條件滿足時終止迴圈,請記得還有break在痴情的等待你
2.4. continue關鍵字
continue關鍵字和break關鍵字一樣,都是用來控制迴圈的,不同的是continue關鍵字,主要是滿足一定的條件時終止本次迴圈直接進入下一次迴圈
如:計算1~100的和,但是如果遇到偶數不做任何處理 ```
sum = 0;
for x in range(101):
if x % 2 == 0:
continue;
sum += x
print("計算結果:" + str(sum))
```
3. 總結
在程式設計開發的過程中,作為程式最基本的選擇結構和迴圈結構,編寫基礎程式碼的過程中,佔據了非常重要的地位,對這兩部分的內容的操作要非常熟練 * 選擇結構 python只是提供了一種if選擇結構,極大程度的簡化了根據條件進行不同資料處理邏輯的控制 * 迴圈結構 python提供了for..in迴圈結構和while迴圈結構 for..in迴圈結構注重於對固定資料列表的迴圈遍歷和使用 while迴圈結構注重於對迴圈條件的判斷來執行迴圈的過程
相關文章
- 程式流程 (順序,選擇,迴圈)
- python 基礎習題6--for迴圈和while迴圈PythonWhile
- 迴圈結構程式設計程式設計
- C#程式設計基礎第七課:C#中的基本迴圈語句:while迴圈、do-while迴圈、for迴圈、foreach迴圈的使用C#程式設計While
- 1.5程式設計基礎之迴圈控制44:第n小的質數程式設計
- C語言程式設計學習中while迴圈和do……while迴圈C語言程式設計While
- CodeMonkey少兒程式設計第6章 for迴圈程式設計
- 實驗2_C語言分支與迴圈基礎應用程式設計C語言程式設計
- 實驗2 c語言分支與迴圈基礎應用程式設計1C語言程式設計
- 實驗2 C語言分支與迴圈基礎應用程式設計-1C語言程式設計
- 實驗2C語言分支與迴圈基礎應用程式設計C語言程式設計
- Java程式設計基礎24——遞迴練習Java程式設計遞迴
- 怎樣用 Bash 程式設計:迴圈程式設計
- Linux Shell程式設計(16)——迴圈Linux程式設計
- 3.迴圈結構程式設計程式設計
- 選擇結構程式設計程式設計
- [.net 物件導向程式設計基礎] (6) 基礎中的基礎——運算子和表示式物件程式設計
- 實驗6迴圈結構程式設計(for語句的應用)程式設計
- [譯] Flutter 非同步程式設計:Future、Isolate 和事件迴圈Flutter非同步程式設計事件
- 程式設計基礎程式設計
- 程式設計師,選擇和努力哪個重要?程式設計師
- 程式設計師如何選擇程式設計技術書?程式設計師
- Java語言程式設計—迴圈語句Java程式設計
- 04 shell程式設計之迴圈語句程式設計
- Linux Shell程式設計(18)—— 迴圈控制Linux程式設計
- 迴圈結構程式設計之習題程式設計
- 好程式設計師Python教程系列-第6講:迴圈結構程式設計師Python
- python入門,程式設計基礎概念介紹(變數,條件,函式,迴圈)Python程式設計變數函式
- 【基礎題】【for迴圈】二重迴圈
- 零基礎學習程式設計,Java、Python你會選擇哪個?程式設計JavaPython
- JavaScript(二):選擇、迴圈結構JavaScript
- C++ 遞迴與物件導向程式設計基礎C++遞迴物件程式設計
- 程式設計師:選擇效率,還是選擇質量?程式設計師
- 遊戲基礎知識——“選擇”的設計方式遊戲
- Socket程式設計基礎程式設計
- Go程式設計基礎Go程式設計
- Java程式設計基礎Java程式設計
- Shell程式設計-基礎程式設計