详解Python循环及案例

一、循环概述

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

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

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

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

二、while循环

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

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

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

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

# 计算从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)

打印结果:

案例2:遍历列表

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

打印结果:

案例3:遍历元组

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

打印结果:

 

四、continue和break

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

break案例:找到小明

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

打印结果:

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)

打印结果:

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

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

打印结果:

 

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

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

打印结果为:

 

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

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

打印结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值