当前位置: 首页 > article >正文

零基础学Python(9)— 流程控制语句(下)

前言:Hello大家好,我是小哥谈。流程控制语句是编程语言中用于控制程序执行流程的语句,本节课就带大家认识下Python语言中常见的流程控制语句!~🌈  

     目录

🚀1.while循环

🚀2.for循环

🚀3.循环嵌套

🚀4.跳转语句

🚀5.pass空语句

🚀1.while循环

while循环是通过一个条件来控制是否要继续反复执行循环体中的语句。

语法如下:

while 条件表达式:
      循环体

说明:循环体是指一组被重复执行的语句。

当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。while循环语句的执行流程如下图所示。

我们用现实生活中的例子来理解while循环的执行流程。在体育课上,体育老师要求同学们沿着环形操场跑圈,要求当听到老师吹的哨子声时就停下来。同学们每跑一圈,可能会请求一次老师吹哨子。如果老师吹哨子,则停下来,即循环结束,否则继续跑步,即执行循环。

注意:在使用while循环语句时,一定不要忘记添加将循环条件改变为False的代码,否则,将产生死循环。


🚀2.for循环

for循环是一个依次重复执行的循环。通常适用于枚举或遍历序列,以及迭代对象中的元素。

语法如下:

for 迭代变量 in 对象:
    循环体

其中,迭代变量用于保存读取出的值;对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串、列表和元组等;循环体为一组被重复执行的语句。

for循环语句的执行流程如下图所示:

我们用现实生活中的例子来理解for循环的执行流程。在体育课上,体育老师要求同学们排队进行踢毽球测试,每个同学一次机会,毽球落地则换另一个同学,直到全部同学都测试完毕,即循环结束。

案例1:进行数值循环

在使用for循环时,最基本的应用就是进行数值循环。例如,想要实现从1到100的累加,可以通过下面的代码实现:

print("计算1+2+3+……+100的结果为:")
result = 0                      # 保存累加结果的变量
for i in range(101):
    result += i                 # 实现累加功能
print(result)                   # 在循环结束时输出结果

在上面的代码中,使用了range()函数,该函数是Python内置的函数,用于生成一系列连续的整数,多用于for循环语句中。其语法格式如下:

range(start,end,step)

参数说明:

start:用于指定计数的起始值,可以省略,如果省略则从0开始。

end:用于指定计数的结束值(但不包括该值,如range(7),则得到的值为0~6,不包括7),不能省略。当range()函数中只有一个参数时,即表示指定计数的结束值。

step:用于指定步长,即两个数之间的间隔,可以省略,如果省略则表示步长为1。例如,range(1,7)将得到1、2、3、4、5、6。

注意:在使用range()函数时,如果只有一个参数,那么表示指定的是end;如果有两个参数,则表示指定的是start和end;如果3个参数都存在时,最后一个参数才表示步长。

例如,使用下面的for循环语句,将输出10以内的所有奇数:

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

得到的结果如下:

1 3 5 7 9

案例2:遍历字符串

使用for循环语句除了可以循环数值,还可以逐个遍历字符串,例如,下面的代码可以将横向显示的字符串转换为纵向显示:

string = '腹有读书气自华'
print(string)                             # 横向显示
for ch in string:
    print(ch)                              # 纵向显示

上面代码的运行结果如下图所示。

说明:for循环语句还可以用于迭代(遍历)列表、元组、集合和字典等。


🚀3.循环嵌套

在Python中,允许在一个循环体中嵌入另一个循环,这称为循环嵌套。例如,在电影院找座位号,需要知道第几排第几列才能准确找到自己的座位号,假如寻找如下图所示的在第二排第三列座位号,首先寻找第二排,然后在第二排再寻找第三列,这个寻找座位的过程就类似循环嵌套。

在Python中,for循环和while循环都可以进行循环嵌套。

例如,在while循环中套用while循环的格式如下:

while 条件表达式1:
    while 条件表达式2:
        循环体2
    循环体1

在for循环中套用for循环的格式如下:

for 迭代变量1 in 对象1:
    for 迭代变量2 in 对象2:
        循环体2
    循环体1

在while循环中套用for循环的格式如下:

while 条件表达式:
    for 迭代变量 in 对象:
        循环体2
    循环体1

在for循环中套用while循环的格式如下:

for 迭代变量 in 对象:
    while 条件表达式:
        循环体2
    循环体1

除了上面介绍的4种嵌套格式外,还可以实现更多层的嵌套,因为与上面的嵌套方法类似,这里就不再一一列出了。


🚀4.跳转语句

当循环条件一直满足时,程序将会一直执行下去,就像一辆迷路的车,在某个地方不停地转圈。如果希望在中间离开循环,也就是for循环结束重复之前,或者while循环找到结束条件之前。有两种方法来做到:

1.使用continue语句直接跳到循环的下一次迭代。

2.使用break完全中止循环。

🍀(1)break语句

break语句可以终止当前的循环,包括while和for在内的所有控制语句。以独自一人沿着操场跑步为例,原计划跑10圈。可是在跑到第2圈的时候,遇到自己的女神或者男神,于是果断停下来,终止跑步,这就相当于使用了break语句提前终止了循环。break语句的语法比较简单,只需要在相应的while或for语句中加入即可。

说明:break语句一般会结合if语句进行搭配使用,表示在某种条件下,跳出循环。如果使用嵌套循环,break语句将跳出最内层的循环。

在while语句中使用break语句的形式如下:

while 条件表达式1:
    执行代码
    if 条件表达式2:
        break

其中,条件表达式2用于判断何时调用break语句跳出循环。在while语句中使用break语句的流程如下图所示。

在for语句中使用break语句的形式如下:

for 迭代变量 in 对象:
    if 条件表达式:
        break

其中,条件表达式用于判断何时调用break语句跳出循环。在for语句中使用break语句的流程如下图所示。

🍀(2)continue语句

continue语句的作用没有break语句强大,它只能终止本次循环而提前进入到下一次循环中。仍然以独自一人沿着操场跑步为例,原计划跑步10圈。当跑到第2圈一半的时候,遇到自己的女神或者男神也在跑步,于是果断停下来,跑回起点等待,制造一次完美邂逅,然后从第3圈开始继续。

continue语句的语法比较简单,只需要在相应的while或for语句中加入即可。

说明:continue语句一般会与if语句搭配使用,表示在某种条件下,跳过当前循环的剩余语句,然后继续进行下一轮循环。如果使用嵌套循环,continue语句将只跳过最内层循环中的剩余语句。

在while语句中使用continue语句的形式如下:

while 条件表达式1:
    执行代码
    if 条件表达式2:
        continue

其中,条件表达式2用于判断何时调用continue语句跳出循环。在while语句中使用continue语句的流程如下图所示。

在for语句中使用continue语句的形式如下:

for 迭代变量 in 对象:
    if 条件表达式:
        continue

其中,条件表达式用于判断何时调用continue语句跳出循环。在for语句中使用continue语句的流程如下图所示。


🚀5.pass空语句

在Python中还有一个pass语句,表示空语句。它不做任何事情,一般起到占位作用。例如,在应用for循环输出1~10之间(不包括10)的偶数时,在不是偶数时,应用pass语句占个位置,方便以后对不是偶数的数进行处理。代码如下:

for i in range(1,10):
    if i%2 == 0:                         # 判断是否为偶数
        print(i,end = ' ')
    else:                             # 不是偶数
        pass                          # 占位符,不做任何事情

程序运行结果如下:

2 4 6 8



http://www.kler.cn/a/232404.html

相关文章:

  • uniapp ios app以framwork形式接入sentry
  • c#————委托Action使用例子
  • element plus的表格内容自动滚动
  • 入侵检测算法平台部署LiteAIServer视频智能分析平台行人入侵检测算法:科技守护安全的新篇章
  • 接口文档的定义
  • C#中 layout的用法
  • Python爬虫 Beautiful Soup库详解#4
  • JavaScript valueOf() 方法详解
  • Oracle的权限
  • 在工业制造方面,如何更好地实现数字化转型?
  • 蓝桥杯刷题day08——完全日期
  • [力扣 Hot100]Day26 环形链表 II
  • TCP的连接和断开详解
  • 【LeetCode每日一题】525连续数组 303区域和检索(前缀和的基本概念和3个简单案例)
  • 使用Linux docker方式快速安装Plik并结合内网穿透实现公网访问
  • leetcode69 x 的平方根
  • Antd+React+react-resizable实现表格拖拽功能
  • 代码随想录算法训练营DAY16 | 二叉树 (3)
  • 机器学习——有监督学习和无监督学习
  • SQL注入 - 利用报错函数 floor 带回回显
  • flask+vue+python跨区通勤人员健康体检预约管理系统
  • C++ 调用lua 脚本
  • Ubuntu 1804 And Above Coredump Settings
  • re:从0开始的CSS学习之路 6. 字体相关属性
  • NLP自然语言处理
  • 【Java EE】----SpringBoot的日志文件