第十節,While循環和for循環

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
相關文章
相關標籤/搜索