程式的組織結構
順序結構
選擇結構(if語句)
循環結構(while語句,for-in語句)
1.順序結構
定義:程式從上到下順序地執行代碼,中間沒有任何的判斷和跳轉,直到程式結束
對象的布爾值
python一切皆對象,所有對象都有一個布爾值
可以使用内置函數bool()擷取對象的布爾值
以下對象的布爾值為False
False
數值0
None
空字元串
空清單
空元組
空字典
空集合
print(bool(False)) #False
print(bool(0)) #False
print(bool(0.0)) #False
print(bool(None)) #False
print(bool('')) #False
print(bool("")) #False
print(bool([])) #空清單 #False
print(bool(list()) #空清單 #False
print(bool(())) #空元組 #False
print(bool(tuple()))#空元組 #False
print(bool({})) #空字典 #False
print(bool(dict())) #空字典 #False
print(bool(set())) #空集合 #False
其他對象的布爾值均為True
2.選擇結構
定義:程式根據判斷條件的布爾值選擇性的執行部分代碼
單分支結構
中文語義:如果。。。就。。。
文法結構:
if 條件表達式:
條件執行體(縮進的都算條件執行體)
money=1000
s=int(input('請輸入取款金額'))
if money>=s:
money=money-s
print('取款成功,餘額為:',money)
雙分支結構
中文語義:如果。。。不滿足。。。就。。。
例:如果中獎就領獎,沒中獎就不領
文法結構:
if 條件表達式:
條件執行體1
else:
條件執行體2
#從鍵盤輸入一個數,判斷是奇數還是偶數
s=int(input('請輸入一個整數'))
if s%2==0:
print(s,'是偶數')
else:
print(s,"是奇數")
多分支結構(多選一執行)
中文語句:
成績在90分以上嗎?不是
成績在80到90分之間嗎?不是
成績在70到80分之間嗎?不是
成績在60到70分之間嗎?不是
成績在60分以上嗎?是
文法結構:
ifif 條件表達式1:
條件執行體1
elif條件表達式2:
條件執行體2
elif條件表達式N:
條件執行體N
else:
條件執行體2
#輸入成績并判斷成績等級(python語言支援數學語言)
i=int(input('輸入你的成績:'))
if i>=90and i<=100:#這樣寫也可以 90<=i<=100
print('你的成績等級為A')
elif i>=80 and i<90:
print('你的成績等級為B')
elif i>=70 and i<80:
print('你的成績等級為C')
elif i>=60 and i<70:
print('你的成績等級為D')
elif i>=0 and i<60:
print('你的成績等級為E')
else:
print('輸入的不是成績的有效範圍')
3.嵌套if
文法結構
if 條件表達式1:
if内層條件表達式:
内層條件執行體1
else:
内層條件執行體2
else:
條件執行體
例題:會員超過200打8折小于200打9折
非會員超過200打0.95折小于200打0.9
answer=input('您是會員嗎y/n')
money=float(input('請輸入你購物金額:'))
if answer=='y':
if money>=200:
print('付款金額為:',money*0.8)
else:
print('付款金額為;',money*0.9)
else:
if money>=200:
print('付款金額為:',money*0.95)
else:
print('付款金額為;',money*0.9)
4.條件表達式
是if。。。else。。。的簡寫
題目:比較兩個數的大小
正常寫代碼是這樣
num1=int(input('輸入第一個數:'))
num2=int(input('輸入第二個數:'))
if num1>=num2:
print(num1,'大于等于',num2)
else:
print(num2,'大于',num1)
簡寫後
num1=int(input('輸入第一個數:'))
num2=int(input('輸入第二個數:'))
print((num1,'大于等于',num2) if num1>=num2 else (num2,'大于',num1) )
#滿足if的條件輸出左邊
#滿足else的條件輸出右邊
5.pass語句
定義:語句什麼都不用做,隻是一個占位符,用在文法上需要語句的地方
#可以用來占位,使程式不報錯
money=input('您是會員嗎y/n‘)
if answer=='y':
pass#占一個語句的位置
else:
pass