python基礎之流程控制
阿新 • • 發佈:2018-10-06
分享 算數 ESS input 分享圖片 clas 跳出循環 次數 con
python流程控制
python的流程控制跟大多數的語言一樣,包括if條件語句、for循環語句、while循環語句;跳出循環continue,break等
寫在前面
python中的運算
1)算數運算
以下假設變量:a=10,b=20:
2)比較運算
3)賦值運算
4)位運算
以下假設變量:a=60,b=13,對應二進制為a=0011 1100;b=0000 1101:
5)邏輯運算
Python語言支持邏輯運算符,以下假設變量 a 為 10, b為 20:
6)成員運算,身份運算
除了以上的一些運算符之外,Python還支持成員運算符,測試實例中包含了一系列的成員,包括字符串,列表或元組。
身份運算符用於比較兩個對象的存儲單元
補充運算符的優先級
我們一般知道大概就行,在不確定優先級的情況下可以用()來規定優先級,括號裏的優先級大於外面的!
if條件判斷
單支 if 條件: 執行語句 多支 if 條件: # 條件成立 執行下方縮進裏的執行語句 執行語句 elif 條件: # elif非必須的,當多個條件時可以使用多個elif,執行跟if一樣 執行語句 else: # 上面條件都不成立,執行 執行語句
示例:
基本條件判斷if:
# 如果:年齡>30歲,那麽:叫阿姨 age_of_girl = 31 if age_of_girl > 30: print(‘阿姨好‘)
if……else……
# 如果:年齡>30歲,那麽:叫阿姨 # 否則:叫小姐姐 age_of_girl = 31 if age_of_girl > 30: print(‘阿姨好‘) else: print(‘小姐姐‘)
if……elif……else
# 如果:年齡>30歲,那麽:叫阿姨 # 如果:18<年齡<=30, 叫小姐姐 # 否則:叫小屁孩 age_of_girl = 20 if age_of_girl > 30: print(‘阿姨好‘) elif 18 < age_of_girl <= 30: print(‘小姐姐‘) else: print(‘小屁孩‘)
條件組合
# 如果18<年齡<25並且身高>165並且體重<100並且漂亮就撩 # 否則:阿姨好 age = 22 height = 170 weight = 99 is_pretty = True if age >= 18 and age <= 25 and height > 165 and weight < 100 and is_pretty: print(‘撩一下‘) else: print(‘阿姨好‘)
if嵌套
# 在上面基礎上 # 如果撩成功了 在一起 # 否則 開個玩笑 age = 22 height = 170 weight = 99 is_pretty = True success = True if age >= 18 and age <= 25 and height > 165 and weight < 100 and is_pretty: if success: print(‘在一起‘) else: print(‘開玩笑的‘) else: print(‘阿姨好‘)
簡單示例:
用戶登錄
1 userinfo = { # 用字典存儲用戶信息,以後會經常用到 2 ‘name‘: ‘zhow‘, 3 ‘pwd‘: ‘123456‘ 4 } 5 name = input(‘請輸入用戶名:‘).strip() # input讓用戶輸入 6 pwd = input(‘請輸入密碼:‘).strip() 7 if name == userinfo[‘name‘] and pwd == userinfo[‘pwd‘]: 8 print(‘登錄成功‘) 9 else: 10 print(‘用戶名或密碼錯誤‘)View Code
for循環語句
python中的for循環可循環一切可叠代的對象,包括字符串,列表,字典等,以及後面介紹叠代器和可叠代對象等。
基本格式
for i in range(10): # range(10)生成一個列表從0開始 print(i)
其他示例:
s = ‘I love python‘ for i in s: print(i) l = [1, 2, 3, 4, 5, 6, 7] for i in l: print(i) d = {‘name‘: ‘zhow‘, ‘age‘: 18} for k, v in d.items(): print(k, v)
while循環語句
基本格式
while 條件: # 循環體 # 如果條件為真,那麽循環體繼續執行,執行完畢後再次循環,重新判斷條件。。。 # 如果條件為假,那麽循環體不執行,循環終止
基本使用
# 打印數字,奇數,偶數 # i = 0 # while i < 10: # print(‘loop‘,i) # i += 1 # while i < 10: # if i % 2 == 0: # 對2取余來判斷是否為偶數 # print(‘loop‘, i) # i += 1 # while i < 10: # if i % 2 == 1: # print(‘loop‘, i) # 對2取余來判斷是否為奇數 # i += 1
死循環
while條件一直成立,並且循環體內沒有跳出語句。
import time i = 0 while True: print(i) i = i + 1 time.sleep(1) # 讓程序睡眠一秒,就是暫停一秒
break使用
break跳出循環,結束循環
while True: name = input(‘請輸入您的名字:‘) pwd = input(‘請輸入您的密碼:‘) if name == ‘user‘ and pwd == ‘123‘: print(‘登錄成功‘) break # 跳出循環 else: print(‘登錄失敗‘)
continue使用
continue結束本次循環進入下次循環
n = 1 while n <= 5: if n == 4: n += 1 continue print(n) n += 1
while+tag====》》》True和False
tag = True while tag: print(‘第一層‘) while tag: print(‘第二層‘) while tag: cmd = input(‘第三層>>:‘) if cmd == ‘q‘: tag = False break
練習示例
1)打印金字塔
1 # 方法一 2 n = int(input(‘您要打印的層數:‘).strip()) # 默認輸入是字符串需要轉換成整數 3 n = n * 2 4 i = 1 5 while i <= n: 6 print((i*‘x‘).center(n, ‘ ‘)) 7 i += 2 8 9 # 方法二 10 n = int(input(‘您要打印的層數:‘).strip()) # 默認輸入是字符串需要轉換成整數 11 n = n * 2 12 for i in range(n): 13 if i % 2 == 1: 14 print((i*‘x‘).center(n, ‘ ‘))View Code
2)打印乘法口訣
i = 1 while i < 10: j = 1 while j <= i: print(str(i) + ‘x‘ + str(j) + ‘=‘ + str(i*j), end=‘\t‘) j += 1 print() i += 1 for i in range(10): for j in range(1, i+1): print(str(i) + ‘x‘ + str(j) + ‘=‘ + str(i * j), end=‘\t‘) print() # end = ‘\t‘代表打印了不換行 輸出一個tab 默認是end = ‘\n‘View Code
乘法口訣裝13寫法
print(‘\n‘.join([‘ ‘.join([‘%s*%s=%-2s‘ % (j, i, i * j) for j in range(1, i + 1)]) for i in range(1, 10)]))
綜合示例
猜數字
給定一個數字,你猜小了提示你小了,猜大了提示大了,剛好猜中提示中了並退出,總共可以猜3次,超出次數提示超過次數
1 num=56 2 for i in range(3): 3 guess_num = int(input(‘輸入你猜的數字:‘)) 4 if guess_num == num: 5 print(‘恭喜你猜對了‘) 6 break 7 elif guess_num > num: 8 print(‘你猜的數字大了‘) 9 else: 10 print(‘你猜的數字小了‘) 11 else: 12 print(‘你猜的次數過多,game over‘)View Code
1 num=56 2 count = 3 3 while True: 4 if count == 0: 5 print(‘你猜的次數過多,stupid‘) 6 break 7 guess_num = int(input(‘輸入你猜的數字:‘)) 8 if guess_num == num: 9 print(‘恭喜你猜對了‘) 10 break 11 elif guess_num > num: 12 print(‘你猜的數字大了‘) 13 else: 14 print(‘你猜的數字小了‘) 15 count -= 1View Code
python基礎之流程控制