在日常生活中,我們經常會遇到一些需要做到做決策的情況,然後在根據決策結果進行不同的結果進行不同的操作。例如,暑假到了,如果所有學科都考試及格的話,媽媽就根據提供經費讓自己和朋友出國旅遊;如果有某些科目掛科,暑假就要返校重修。程式設計也一樣,常會根據不同情況進行不同的操作,這就是條件語句。
1、程式的執行方式有順序方式及分支方式二種。順序方式是程式**由上往下依次執行,目前為止,我們前面接觸的示例都是這種模式。程式設計也和日常生活相似,常會遇到一些需要做決策的情況,在根據決策結果來執行不同的程式**,這種方式就是分支式執行。
python流程控制命令分為二大類:
a、條件:根據關係運算或邏輯運算的條件表示式來判斷執行的流程,若條件表示式運算結果為true,就執行跳躍。條件命令只有乙個:
if ......elif.....else
b、迴圈:根據關係運算或邏輯運算條件表示式的結果為true或false來決定是否重複執行指定的程式。迴圈指令由二種:for 和 while(後面章節詳講)。
2、單向條件(if......)
"if...."為單向條件,是if指令中最簡單的型別,語法為:
if(條件表示式): # 括號也可以移除,即 「if 條件語句:」
程式塊
當條件表示式的值為true時,就會執行程式塊的操作;當條件表示式為false時,則不會執行程式塊的操作。
條件表示式可以是關係表示式(如「x>2"), 也可以是邏輯表示式(如"x>2 or x<5")。如果程式塊內只要一行**,則可以合併為一行,直接寫成"if (條件表示式):**"。
3、雙向條件語句(if...else)
如果條件表示式不成立時也可以應該想使用者提示某些資訊,此時就通過「if...else"雙向條件語句來實現。
」if...else..."雙向條件語句語法為:
if (條件表示式):
程式塊一
else:
程式塊二
當條件表示式的值為true時,執行if後的程式塊一;當條件表示式值為false時,執行else後程式後的程式塊二。程式塊中可以是一行或多行**,如果程式塊中的**只有一行,可以合併為一行。
4、多條件語句(if...elif...else)
事實上,現實中大部分複雜的情況都不是乙個條件就能解決的。例如,對於學生的成績,不是單純的及格與否,及格者還需要根據分數的高低分成不同的等級(優、良、及格)等,這時就要用到多條件語句「if...elif...else"
"if...elif...else"可在多項條件表示式中擇一執行。如果條件表示式為true,就執行相應程式塊;如果所有條件表示式都是false,則執行else後的程式塊;若省略else,則條件表示式都是false時,將不執行任何操作。」if...elif...else"的語法如下:
if (條件表示式一):
程式塊一
elif(條件表示式 二):
程式塊二
elif (條件表示式三):
else:
程式塊
當「條件表示式一」為true時,執行程式塊一,然後跳出if多項條件表示式;
「條件表示式一」為false時,則檢查「條件表示式二」,若「條件表示式二
為true,執行程式塊二,依次類推。如果所有條件表示式都是false,則執行else後的程式塊。
5、條件巢狀
在條件語句(if...elif...else)之中,還可以包含條件,成為條件巢狀。系統並沒有規定條件巢狀的層數,但層數太多會降低程式可讀性,而且維護較苦難。
Java 靜態語句塊 語句塊 建構函式
以下是一道筆試題 package com.example public class parent static package com.example public class child extends parent static public static void main string ar...
Java 靜態語句塊 語句塊 建構函式執行順序
package test class parent static public parent class child extends parent static public child public class staticiniblockordertest 分析 物件的初始化順序 首先執行父類靜...
Oracle PL SQL 語句塊用法
set serveroutput on begin update scott.emp set sal 800.00 where empno 7369 if sql found then dbms output.put line 表已更新 else dbms output.put line 表沒有更新...