目錄python
# 單分支 # if通常用於判斷/選擇的場景 # 90以上優秀 score = 95 if score > 90: print('優秀')
# 雙分支 # if...else # 90以上優秀,90一下良好 score = 95 # if score > 90: # print('優秀') # else: # print('良好')
score = 75 # print('優秀') if score > 90 else print('良好') # 單分支沒有,多分支也沒有 #結果一 條件 結果二
## if...elif...elif...else ## 90以上優秀,90-70良好,70如下不及格 # score = 95 # if score > 90: # print('優秀') # elif score > 70: # print('良好') # else: # print('及格')
## if...if...if...if ## 90以上優秀,90-70良好,70如下不及格 score = 95 if score > 90: print('優秀') if score > 70 and score < 90: print('良好') if score < 60: print('及格')
for循環的循環次數受限於容器類型的長度,而while循環的循環次數須要本身控制。for循環也能夠按照索引取值。code
while循環又稱爲條件循環,所謂的循環就是重複作某件事,固然要給必定的條件限制,否則就永遠的循環下去了,成爲了死循環。對象
while 條件: code 1 code 2 code 3 ... #能夠這樣理解 ''' while(當) <條件>: <須要進行重複的代碼塊> # 當條件成立時會進行運行,結束完代碼塊後會再一次判斷條件,成立再運行,運行完再判斷條件,% ''' 如: while True: print('*1'*100) print('是否是傻'*10) #其實這是一個死循環,一直輸出到電腦報廢,請謹慎使用
# 在實現登錄功能的時候可以使用,一直到登錄成功 while True: name = 'chen' pwd = '123' inp_name =input('name:') inp_pwd = input('pwd:') if name==inp_name and pwd == inp_pwd: print('登錄成功') else: print('你咋那麼笨呢') ##其實這仍是一個死循環,可是存在阻塞
break就是循環限制的一種哦,意思是直接退出循環blog
# 能夠這樣理解 ''' while(當) <條件>: <須要進行重複的代碼塊> # 當條件成立時會進行運行,結束完代碼塊後會再一次判斷條件,成立再運行,運行完再判斷條件,% break # 遇到break後終止while循環 '''
while True: print(1) print(2) break print(3) #輸出: 1 2
# 在實現登錄功能的時候可以使用,一直到登錄成功,後退出 while True: name = 'chen' pwd = '123' inp_name =input('name:') inp_pwd = input('pwd:') if name==inp_name and pwd == inp_pwd: print('登錄成功') break else: print('你咋那麼笨呢') print('啊哈,不循環了哦')
continue的意思終止本次循環,直接進入下一次循環中索引
n = 1 while n < 4: print(n) n += 1 #輸出 1 2 3
n = 1 while n < 10: if n == 8: n += 1 # 若是註釋這一行,則會進入死循環 continue print(n) n += 1 #輸出 1 2 3 4 5 6 7 9
==注意:continue不能放在程序的最後一步執行,注意,不是最後一行==字符串
退出一層循環input
#退出內層循環的while循環嵌套 while True: name = 'chen' pwd = '123' inp_name = input('name:') inp_pwd = input('pwd:') if inp_name == name and inp_pwd == pwd: print('successful') while True: cmd = input('請輸入命令') if cmd == 'q': print(f'{cmd}功能執行') break else: print('不對啊') print('循環退出')
退出雙重循環cmd
#退出內層循環的while循環嵌套 while True: name = 'chen' pwd = '123' inp_name = input('name:') inp_pwd = input('pwd:') if inp_name == name and inp_pwd == pwd: print('successful') while True: cmd = input('請輸入命令') if cmd == 'q': break print(f'{cmd}功能執行') break else: print('不對啊') print('循環退出')
tag = True while tag: name = 'chen' pwd = '123' inp_name = input('name:') inp_pwd = input('pwd:') if inp_name == name and inp_pwd == pwd: print('successful') while tag: cmd = input('請輸入命令') if cmd == 'q': tag = False print(f'{cmd}功能執行') else: print('不對啊') print('循環退出')
else會在while沒有被break的時候纔會執行else中的代碼it
n = 1 while n<3 print(n) n += 1 else: print('退出') #輸出: 1 2 退出
簡單的來講for循環更像是遍歷,for循環能夠遍歷任何序列的項目,如一個列表,字典或者一個字符串。for循環的循環次數受限於容器類型的長度,for循環也能夠按照索引取值。for循環
name = ['chen','python','nick','shanghai'] for i in name: print(i) #輸出: chen python nick shanghai print(name[1]) #輸出: python
for 循環被直接調出本層循環
name = ['chen','python','nick','shanghai'] for i in name: if i == 'python': break print(i) #輸出: chen
for循環調出本次循環,進入下一次循環
name = ['chen','python','nick','shanghai'] for i in name: if i == 'python': continue print(i) #輸出: chen nick shanghai
外層循環每一次,內層循環全部的。
for i in range(3): print("----------",i) for j in range(2): print("**********",j) #輸出: ---------- 0 ********** 0 ********** 1 ---------- 1 ********** 0 ********** 1 ---------- 2 ********** 0 ********** 1
在沒有break觸發的時候執行else內部的代碼
name = ['chen','python','nick','shanghai'] for i in name: if i == 'python': continue print(i) else: print('沒有了') #輸出: chen nick shanghai 沒有了
import time print('Loading',end='') for i in range(6): print(".",end='') time.sleep(0.2)
Loading......
while: 1. 會進入死循環(不可控),儘可能少使用while循環 2. 世間萬物均可以做爲循環的對象 for: 1. 不會進入死循環(可控),之後儘可能使用for循環 2. 只對容器類數據類型+字符串循環(可迭代對象)