While循環python
While循環,是一個循環加判斷的組合,知足判斷條件返回 真(True)開始循環代碼塊,不知足判斷條件返回 假()不循環函數
格式:ui
While 條件:spa
代碼塊code
注意:在While循環裏若是不加終止循環的判斷或者關鍵字,會一直循環(死循環)對象
如: blog
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import time #引用計時器模塊 4 n = True 5 s = 1 6 while n: 7 print(s) 8 time.sleep(1) #調用計時器
如上列While循環判斷變量n等於True(真)的時候開始循環裏面的代碼塊,打印變量s,遇到計時器等待1秒後,在重複這個過程(死循環)utf-8
While循環 與 if判斷 的結合應用,從1循環到10終止字符串
如: input
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import time #引用計時器模塊 4 n = True 5 s = 1 6 while n: 7 print(s) 8 if s == 10: 9 n = False 10 s+=1 #變量s自身累積加1 11 time.sleep(1) #調用計時器
上列是從1循環到10終止,While循環判斷n變量爲True(真),開始循環代碼塊,打印s變量值爲1,下來遇到if判斷s變量值是否等於10,顯然不等於,不等於就調過判斷,在下來遇到s+=1(就是s變量自身的值加1,相等於s=s+1),此時s變量的值就是2了,在下來遇到計時器等待1秒,而後開始再次重複的循環直到s變量累積相加到10,if判斷s變量等於10了,執行if判斷裏面的代碼塊,if代碼塊裏面是n變量從新賦值等於False(假),此時n變量已是False(假)了,在次循環時,While循環條件判斷到n變量爲假了,不在執行While循環終止
While循環 關鍵字(break) 跳出整個循環 不在循環
如: 循環出1到10
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import time #引用計時器模塊 4 n = True 5 s = 1 6 while n: 7 print(s) 8 if s == 10: 9 break 10 s+=1 #變量s自身累積加1 11 time.sleep(1) #調用計時器
上列,當循環到10時,if判斷s變量等於10的時候,執行if裏面的代碼塊遇到 break (跳出整個循環 不在循環) 就直接跳出而且不在循環了
While循環 關鍵字(continue) 跳出本次循環 繼續下次環
如:循環出一、二、三、四、 六、七、八、九、十、 跳出5
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import time #引用計時器模塊 4 n = True 5 s = 1 6 while n: 7 if s == 5: 8 s += 1 9 continue 10 print(s) 11 if s == 10: 12 break 13 s += 1 #變量s自身累積加1 14 time.sleep(1) #調用計時器
如上列,當循環到5的時候if判斷到後,執行if裏面的代碼塊,if裏 s變量加1就是6,continue跳出本次循環,再次循環時s變量是6了,if判斷等於5就不成立了跳過判斷,往下執行,直到第二個if判斷到等於10後遇到break跳出整個循環不在循環
While循環 求1-100全部數相加的和(1+2+3+4+5...+100)
如:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 n = True 4 s = 1 5 t = 0 6 while n: 7 print(s) 8 t = t + s 9 if s == 100: 10 break 11 s += 1 #變量s自身累積加1 12 print(t)
如上列,t = t + s 就是每次循環到這裏的時候,將s變量自身累積加1的值在加上t變量的值從新賦值給t變量(這裏能夠理解爲,s變量每次循環自身累積加1的值,在加上t變量的值,從新賦值給t變量作一個登記)最後在打印這個t變量,t變量最後的登記,就是整個循環相加的和
While循環 加 if判斷 輸出1-100內的全部奇數
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 s = 1 4 while s <= 100: 5 t = s % 2 #讓s變量的值求餘後從新賦值給t變量 6 #s求餘等於0爲偶數,等於1爲奇數 7 if t == 1: 8 print(s) 9 else: 10 pass 11 s += 1 #變量s自身累積加1
也就是先循環出1-100,而後在循環裏定義一個變量t,將每次循環到的s變量值求餘後賦值給t變量,而後判斷t變量的值,如是1就是奇數打印出s變量,若是不是1就是偶數就不打印pass,這樣就循環加判斷的方式,打印出了1-100內的因此奇數。
While循環 加 if判斷 輸出1-100內的全部偶數
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 s = 1 4 while s <= 100: 5 t = s % 2 #讓s變量的值求餘後從新賦值給t變量 6 #s求餘等於0爲偶數,等於1爲奇數 7 if t == 0: 8 print(s) 9 else: 10 pass 11 s += 1 #變量s自身累積加1
也就是先循環出1-100,而後在循環裏定義一個變量t,將每次循環到的s變量值求餘後賦值給t變量,而後判斷t變量的值,如是0就是偶數打印出s變量,若是不是0就是奇數就不打印pass,這樣就循環加判斷的方式,打印出了1-100內的因此奇數。
While循環 加 if判斷 求1-2+3-4+5...99的全部數的和
如:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 r = 0 4 s = 1 5 while s <= 99: 6 t = s % 2 7 if t == 1: 8 r = r + s 9 else: 10 r = r - s 11 s += 1 12 print(r)
也就是在循環裏作判斷,循環到的是奇數就相加,若是是偶數就相減,每一次循環的相加或者相減,賦值給 r變量記錄一下,r變量最後的記錄就是咱們獲得的加減後的和
While循環 加 if判斷 用戶輸入用戶名和密碼有3次機會
如:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = 0 4 while a < 3: 5 yh = input("請輸入用戶名") 6 mm = input("請輸入密碼") 7 if yh == "guixiu" and mm == "123": 8 print("恭喜你登陸成功") 9 break 10 else: 11 print("很遺憾密碼或用戶名錯誤") 12 a += 1
也就是用While循環 加 if判斷,在循環裏判斷用戶輸入的用戶名和密碼是否正確,正確就登陸成功退出整個循環,不正確提示錯誤,變量a加1,再次循環重複操做,當變量a的值大於3時,循環條件不在成立,中止循環
for循環
主要用於循環一個字符串列表等
不須要判斷,定義一個循環變量便可
格式:for (循環定義變量) in (被循環的變量) 循環完後自動退出整個循環
打印循環定義變量便可
關鍵字(continue) 跳出本次循環 繼續下次環
關鍵字(break) 跳出整個循環 不在循環
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # #for循環 4 #b爲循環自定義變量 5 a = "abcdefghijklmnopqrstuvwxyz" 6 for b in a: 7 print(b) 8 #循環出全部字母
關鍵字應用
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # #for循環 4 #b爲循環自定義變量 5 a = "abcdefghijklmnopqrstuvwxyz" 6 for b in a: 7 if b == "f": 8 continue #跳出本次循環 繼續下次環 9 else: 10 print(b) 11 #循環出全部字母(f除外)
如何只獲取for裏的第某一次值【重點】
#!/usr/bin/env python # -*- coding:utf-8 -*- """如何只獲取for裏的第某一次值""" a = [11, 22, 33, 44, 55, 66, 77, 88, 99] for k, v in enumerate(a,1): #首先要用enumerate()函數給被循環對象,添加一個鍵也就是下標,這樣就能夠在循環裏定義兩個變量來分別接受鍵和值, #print(k,v)#這樣就能拿到鍵和值,用if判斷鍵來獲取某一次須要的值 #如:要獲取第6次循環的值 if k == 6: #若是鍵等於6就打印此次循環的值 print(v) # 輸出 # 66