if(表達式):
語句1
else:
語句2
input([prompt]) -> string
參數prompt是控制臺中對於輸入的提示文字,提示用戶輸入,返回值為字符串。如果輸入的是數字,返回的還是字符串,那麼使用前需要調用int()做一下字符串和數字類型的轉換。下面這段代碼說明了字符串和數字類型的轉換。x = input("x:")
x = int(x)
x = x + 1
TypeError: Can't convert 'int' object to str implicitly
1# 執行if語句內的程序
2a = input("a:")
3a = int(a)
4b = input("b:")
5b = int(b)
6if(a > b):
7 print (a, " > ", b)
1# 跳過if語句
2a = input("a:")
3a = int(a)
4b = input("b:")
5b = int(b)
6if(a > b):
7 print (a, " > ", b)
8print (a, " < ", b)
1# if… else…語句
2a = input("a:")
3a = int(a)
4b = input("b:")
5b = int(b)
6if(a > b):
7 print (a, " > ", b)
8else:
9 print (a, " < ", b)
if(表達式1): 語句1
elif(表達式2): 語句2
…
elif(表達式n): 語句n
else: 語句m
1# if elif else語句
2score = float( input("score:")) # 接收用戶輸入並將其轉換為float類型,當輸入為小數時,使用int轉換會報錯
3if 90 <= score <= 100:
4 print("A")
5elif 80 <= score < 90:
6 print("B")
7elif 60 <= score < 80:
8 print("C")
9else:
10 print("D")
if(表達式1):
if(表達式2): 語句1
elif(表達式3): 語句2
…
else: 語句3
elif(表達式n):
…
else:
…
1x = -1
2y = 99
3if(x >= 0):
4 if(x > 0):#嵌套的if語句
5 y = 1
6 else:
7 y = 0
8else:
9 y = -1
10print ("y =", y)
1# 錯誤的嵌套語句
2x = -1
3y = 99
4if(x != 0): # 如果x不等於0
5 if(x > 0): #嵌套的if語句
6 y = 1
7else:
8 y = 0
9print ("y =", y)
switch(表達式) {
case 常量表達式1: 語句1
case 常量表達式2: 語句2
…
case 常量表達式n: 語句n
default: 語句m
}
1# 使用字典實現switch語句
2from __future__ import division# 導入division模塊
3x = 1
4y = 2
5operator = "/"
6result = { # 定義字典
7"+" : x + y,
8"-" : x - y,
9"*" : x * y,
10"/" : x / y
11}
12print (result.get(operator))
1class switch(object):# 定義switch類
2 def __init__(self, value):# 初始化需要匹配的值value
3 self.value = value
4 self.fall = False # 如果匹配到的case語句中沒有break,則fall為True
5
6 def __iter__(self):# 定義__iter__()方法
7 yield self.match # 調用match方法 返回一個生成器
8 raise StopIteration# 用StopIteration 異常來判斷for循環是否結束
9
10 def match(self, *args): # 模擬case子句的方法
11 if self.fall or not args: # 如果fall為True,則繼續執行下面的case子句
12 # 或case子句沒有匹配項,則流轉到默認分支
13 return True
14 elif self.value in args: # 匹配成功
15 self.fall = True
16 return True
17 else: # 匹配失敗
18 return False
19
20operator = "+"
21x = 1
22y = 2
23for case in switch(operator): # switch只能用於for... in...循環中
24 if case('+'):
25 print (x + y)
26 break
27 if case('-'):
28 print (x - y)
29 break
30 if case('*'):
31 print (x * y)
32 break
33 if case('/'):
34 print (x / y)
35 break
36 if case(): # 默認分支
37 print ""
關於作者:黃傳祿,高級講師、管理軟體開發工程師、資料庫庫系統工程師、信息系統管理工程師。有10多年的一線教學經驗和高端培訓經驗,出版多部技術專著,獲得多個軟體著作權。
本文摘編自《零基礎學Python》(第2版),經出版方授權發布。推薦語:為了能夠使廣大讀者既能夠掌握Python語言的基礎知識,又能夠將Python語言應用於某個特定的領域(如Web開發),本書介紹了與Python相關的方方面面,每個章節都提供了詳盡的例子,結合實例講解各個知識點。涉及的程序代碼都給出了詳細的注釋,有助於讀者輕鬆領會程序開發的精髓,快速提高開發技能。