一、循环概述

       在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。

       一组被重复执行的语句称之为循环体,能否继续重复,却决于循环的终止条件。

       循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。

       如果你之前有过其它语言的编程基础,比方说C、C++、Java、JS等,那么你对循环的逻辑肯定已经很熟了。无论是什么语言,循环的逻辑都是一样的,只不过是具体语法有些小的差别。

二、while循环

首先,我们看一下Python 中 while 语句的语法结构:

while 判断条件(condition):
    执行语句(statements)……

       然后,图示执行逻辑,如下:首先判断条件condition是否为真,如果为真,就执行代码块statements,执行完代码块之后,再重新判断条件condition是否为真,如果为真,再执行代码块statements,执行完代码块之后,再重新判断条件condition是否为真......如此循环往复,直到判断条件condition为假,则循环结束。

python循环结构的例题 python的循环结构案例_python循环结构的例题

下面,我们通过一个实例来说明:

# 计算从1到100的总和
i = 1
sum = 0
while i <= 100:
    sum = sum + i
    i = i + 1
print(sum)

分析:首先定义两个变量,i定义循环次数,sum记录总和。

第一次循环,i初始的值是1,本次循环结束之后为2

while 1 <= 100:
    sum = 0 + 1 
    i = 1+ 1

第二循环,i初始的值是2,本次循环结束之后为3

while 2 <= 100:
    sum = 1 + 2 
    i = 2 + 1
...

第100次循环,

while 100 <= 100:
    sum = 4950 + 100 
    i = 100 + 1

第101次循环,

while 101 <= 100:

   条件为假,循环结束。

需要注意的是,在 Python 中没有 do..while 循环,这和Java等语言是不一样的。

三、for循环

for循环使用场景很多。

语法如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

案例1:遍历字符串

# 遍历 字符串

str = "Hello,World"
for value in str:
    print(value)

打印结果:

python循环结构的例题 python的循环结构案例_for循环_02

案例2:遍历列表

fruitList = ["苹果", "梨", "香蕉"]
for value in fruitList:
    print(value)

打印结果:

python循环结构的例题 python的循环结构案例_python_03

案例3:遍历元组

tuple = ('苹果', 786, 2.23, 'hello', 70.2)
for x in tuple:
    print(x)

打印结果:

python循环结构的例题 python的循环结构案例_字符串_04

 

四、continue和break

break和continue是用来结束循环的,区别在于:continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环。break结束当前整个循环,执行当前循环下边的语句,需要注意的是在嵌套循环中,break只能结束当前所在层级的循环。

break案例:找到小明

studentList = ["小红", "小兰", "小明", "小李"]
for student in  studentList:
    if student == "小明":
        print("找到小明了,循环结束")
        break
    else:
        print("不是小明,继续循环")

打印结果:

python循环结构的例题 python的循环结构案例_for循环_05

continue案例:

studentList = ["小红", "小兰", "小明", "小李"]
for student in studentList:
    if student == "小明":
        print("找到小明了,循环结束")
        continue
        print("continue后,不会执行到")
    else:
        # continue不会结束整个循环,找到小明后,会继续执行
        print("不是小明,继续循环")

五、range函数

如果你需要遍历数字序列,可以使用内置range()函数。它会生成一个数列。

也可以用range()生成的数字序列,指定循环次数。

案例1:输出数字0到9

for i in range(10):
    # 注意,生成的数是从0开始
    print(i)

打印结果:

python循环结构的例题 python的循环结构案例_for循环_06

案例2:输出指定区间的数字6到12

for i in range(6, 13):
    print(i)

打印结果:

python循环结构的例题 python的循环结构案例_python_07

 

案例3:输出指定区间的数字1到10,指定步长为2

for i in range(1, 10, 2):
    print(i)

打印结果为:

python循环结构的例题 python的循环结构案例_python_08

 

案例4:通过range函数,指定循环次数,输出列表中前三个同学的名字

studentList = ["小红", "小兰", "小明", "小李"]
for i in  range(0,3):
    name = studentList[i]
    print(name)

打印结果:

python循环结构的例题 python的循环结构案例_python循环结构的例题_09