python for循環(11)

在python開發中,除了前篇文章介紹的while循環還有一個for循環也常常使用,二者使用都是大同小異,for循環的使用相對於while循環更加靈活,下面咱們一塊兒來了解下具體區別。python

 

一.for 循環語法


1git

2github

for 變量 in 序列: 微信

    執行語句......ide

可能目前你們對序列還比較陌生,序列能夠是數字區間,好比0~100;也能夠是字符串;也能夠是列表/字典/元祖(後面在講解這三個),先看一個簡單例子:函數

1學習

2spa

3code

4orm

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# !usr/bin/env python

# -*- coding:utf-8 _*-

"""

@Author:何以解憂

@Blog(我的博客地址): shuopython.com

@WeChat Official Account(微信公衆號):猿說python

@Github:www.github.com

@File:for循環.py

@Time:2019/9/19 21:22

 

@Motto:不積跬步無以致千里,不積小流無以成江海,程序人生的精彩須要堅持不懈地積累!

"""

 

for a in range(0, 5): # 表示 a 的初始值爲 0 而且小於5,a取值重0開始依次遞增: 0 1 2 3 4

    print(a)

 

print("循環結束,退出程序")

輸出結果:

1

2

3

4

5

6

0

1

2

3

4

循環結束,退出程序

range()函數 也是python 中的內置函數,range(x,y)意思就是重x到y-1之間的整數不包括y.

1

2

range(5,10) 表示:5 6 7 8 9

range(0,10) 表示:0 1 2 3 4 5 6 7 8 9

 

對於上面代碼咱們一樣用while循環也來實現如下:

1

2

3

4

5

a = 0

while a < 5:

    print(a)

    a += 1

print("循環結束,退出程序")

因而可知,while循環和for循環實現相同的功能,for循環比while 循環使用更加靈活,具體分析下for循環中的參數:

1

for i in range(n,m):

i:變量名,命名爲a、b、c均可以,無所謂

n:變量 i的值默認重n開始,i = n

m:循環過程當中,默認i值偏移步長加1,直到 i 值>= m,循環中止,注意 :i 的最大值等於 m-1 

猿說python

 

二.實戰練習


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

# 遍歷字符串,依次輸出字符串中的每個字符

for a in "python教程 - 猿說python": # a 重字符串的第一個字母開始,直到遍歷字符串結尾

    print(a)

 

print("*"*20) # 小竅門:連續輸出 20 個 *

 

# 遍歷0~100之間的數字,可是不包括100 ,默認 a 重 0 開始依次遞增直到 99 結束

for a in range(0,100):

    if a % 2 == 0: # 判斷奇偶,若是是偶數直接跳過本次循環,繼續下一次循環

        continue

    elif a > 5: # 若是是奇數而且a的值大於 5

        a *= 10

    else:   # 若是是奇數而且a的值小於5

        a += 20

 

    if a > 30: # 若是a的值大於30 直接跳出循環

        break

 

    print(a)

 

print("循環結束,退出程序")

輸出結果:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

p

y

t

h

o

n

-

p

y

t

h

o

n

********************

21

23

25

循環結束,退出程序


代碼分析:

以上代碼綜合了前面學習的條件表達式if/else 以及 continue/break使用。for循環過程當中,變量a值默認偏移依次遞增+1,若是但願for循環能實現偏移遞減或者遞增+2或者遞減-2呢?

 

要實如今for循環中偏移遞增+2或者遞減-2,須要再加一個參數在for循環中,語法以下:

1

for i in range(n,m,k):

i:變量名,命名爲a、b、c均可以,無所謂

n:變量 i的值默認重n開始,i = n

k:變量 k的值若是不設置,默認偏移步長爲1;設置k 值就意味 偏移步長等於 k (k能夠是整數或者浮點數)

m:循環過程當中,i的值默認偏移步長依次遞增k,若是沒有設置k值,默認k = 1, 直到 i >= m,循環中止,注意 :i 的最大值等於 m-1

猿說python

代碼以下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

for i in range(0, 10, 2):  # 默認 i 值重0開始,偏移步長依次遞增+2而且小於10

    print(i, end=" ")  # print 函數默認會換行,強制設置" "(空格)代替"\n"(換行)

 

print("\n") # 換行

print("**"*20)

for i in range(0, -10, -2):  # 默認 i 值重0開始,偏移步長依次遞減-2而且大於-10

    print(i, end=" ")  # print 函數默認會換行,強制設置" "(空格)代替"\n"(換行)

 

print("\n")# 換行

print("**"*20)

 

str1 = "猿說python"

print("len(str1):%d " % len(str1))

for i in range(0,len(str1),2): # 默認 i 值重0開始,偏移步長依次遞增+2而且小於len(str1)

    print(str1[i])

輸出結果:

1

2

3

4

5

6

7

8

9

10

11

0 2 4 6 8

 

****************************************

0 -2 -4 -6 -8

 

****************************************

len(str1):8

p

t

o

 

 

三.重點總結

1.for循環中continue和break的使用方法和while使用方法同樣

2.for循環能直接遍歷字符串/數字區間/列表等序列

 

猜你喜歡:

1.python while循環

2.python 循環中使用continue/break

 

轉載請註明:猿說Python » python for循環

相關文章
相關標籤/搜索