写点什么

【Python】第二章 (条件语句和循环语句)

作者:泽En
  • 2022 年 2 月 24 日
  • 本文字数:3940 字

    阅读完需:约 13 分钟

【Python】第二章(条件语句和循环语句)

​本章介绍下 Python 条件语句和循环语句当中的使用。

条件语句:

条件语句是用来判断给定的条件是否满足(表达式值是否为 0),并根据判断的结果(真或假)决定执行的语句,选择结构就是用条件语句来实现的。

条件语句可以给定一个判断条件(在表达式内) ,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作,从而改变代码的执行顺序,实现更多的功能。

写程序时,常常需要指明两条或更多的执行路径,而在程序执行时,允许选择其中一条路径,或者说当给定条件成立时,则执行其中某语句。在高级语言中,一般都要有条件语句。

点击并拖拽以移动

循环语句:

循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:

在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。

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


循环语句是由循环体及循环的终止条件两部分组成的也就是一个是条件表达式和退出循环以及跳出循环语句的关键字。

点击并拖拽以移动

流程

  1. 流程:就是计算机执行代码的顺序

  2. 流程控制:对计算机代码执行的顺序进行有效的管理,只有流程控制才能实现在开发当中的业务逻辑

流程控制的分类:

  • 顺序流程:就是代码一种自上而下的执行结构,也是 python 默认的流程

  • 选择流程/分支流程:根据在某一步的判断,有选择的去执行相应的逻辑的一种结构

if—else 语句

Python 的条件语句是通过一条或者多条语句的结果进行执行 (Flash—不成立,Turn—成立)


Python 当中的 if 语句通常用于控制程序的一个执行过程,如下实例:


if 判断条件:    执行语句……else:    执行语句……
复制代码


点击并拖拽以移动


条件判断: 判断条件表达式的值是真还是假,条件判断的解释是:让计算机知道,在什么条件下,该去做什么。


  • 单向判断


  • if… #如果条件成立,就执行语句


number = 3if number > 1:    print('你输入的数字大于1')    pass
复制代码


点击并拖拽以移动


注意格式: if 语句后面要加个:同时执行语句要缩进四个空格(Tap),当然在这里你也可以使用 input 关键字进行输出。切记 if 表达式里面的为真可以执行 print 的内容,为假则不执行 ,也就是要满足它的判断条件!


  • 双向判断


  • 条件成立执行 if 语句,否则执行 else 语句


number = 5if number > 5:    print(number)    passelse:    numbers = number - 5    print(numbers)    pass
复制代码


点击并拖拽以移动


输出的结果:0

原因:if 表达式不成立不执行,则执行 else 语句。

if 和 else 是同一层级,不需要缩进。if 和 else 下的执行语句都需要缩进四个空格。


  • 多向判断


  • if…elif…else  三个及其以上条件的判断


grade = 60if 80 <= grade <= 100:    print('成绩优秀')elif 60 <= grade < 80:    print('成绩中等')else:    print('成绩差')
复制代码


点击并拖拽以移动


输出结果:成绩中等

elif:用于三个及三个条件以上的判断条件下进行使用,里面内容存放的是表达式


  • if嵌套


  • 使用 if 语句进行条件判断,还希望在条件成立的执行语句中再增加条件判断,即 if 中还有 if,这两个 if 非平级


credit = int(input('请输入你的学分:'))if credit > 10:    achievement = int(input('请输入你的成绩:'))    if achievement > 80:        print('你的成绩那是相当的very good boy')        pass    else:        print('你的成绩不达标')        passelse:    print('你的学分NO')
复制代码


点击并拖拽以移动


输出结果根据你的学分来进行判定.

注意,看它的作用域,这里运用来 if 嵌套语句。对于嵌套其实大家知道多多熟练掌握这个不怎么难的。


  • 输入学分不达标



点击并拖拽以移动



  • 输入的学分达标,但是输入的成绩不达标



点击并拖拽以移动



  • 输入的学分达标,输入的成绩达标



点击并拖拽以移动


设置 if 语句格式

每个示例都展示了良好的格式设置习惯。

在条件测试的格式设置方面,PEP 8 提供的唯一建议是,在诸如== 、>= 和<= 等比较运算符两边各添加一个空格,例如,if age < 4: 要比 if age<4: 好。

这样的空格不会影响 Python 对代码的解读,而只是让代码阅读起来更容易



while 循环

while 循环不断地运行,直到指定的条件不满足为止。

用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:


while 判断表达式:    执行语句
复制代码


点击并拖拽以移动



点击并拖拽以移动



好,那么我们现在就上一个简单的 while 循环的代码,让大家直观的感受到 while 循环的作用:


题目一:用 while 循环从 1 循环到 100


number = 0while number <= 100:   print('数字:%d'%number)   number = number + 1   pass
复制代码


点击并拖拽以移动


  • 这里就是注意 while 语句里面的表达式的值,以及 number = number + 1 的使用


题目二:用 while 循环打印出 9*9 的乘法口诀表


row = 1  # 行while row <= 9:    col = 1  # 列    while col <= row:        print("%d*%d=%d" % (row,col,row*col),end=" ")   # print自身换行 end是空格        col += 1  # col = col + 1         pass    print()    row += 1    pass
复制代码


点击并拖拽以移动


  • 这里主要注意一下的就是双层嵌套的使用以及表达式还有自增的一个过程


题目三:猜拳游戏用 while 循环循环三次再退出 while 循环


import random  # 导入生成随机数模块
复制代码


点击并拖拽以移动


  • 这个题目就留给大家来练习一下吧💕


while 循环的嵌套格式:


while 条件1:        条件1成立时执行语句        条件1成立时执行语句        条件1成立时执行语句        while 条件2:                条件2成立时执行语句                条件2成立时执行语句 
复制代码


点击并拖拽以移动



for 循环

for while****循环一样也可以完成循环。


在 Python 中 for 循环可以遍历任何序列的项目如一个列表或者一个字符串等

循环的格式

for 临时变量 in 字符串,列表等:    执行代码块        执行代码块    
复制代码


点击并拖拽以移动


  • 那么在这里我就用一个很简单的 for 循环的代码带大家来看看 for 循环的作用


# for 临时变量(存放容器name) in 容器()name = '123456'for max in name:    print(max)    pass
复制代码


点击并拖拽以移动


  • name 是变量

  • for 的 max 是个临时变量可以当成是一个水杯吧

  • name 就是水,要把水放在 max 的这个水杯上

  • 下面就是执行的代码块的内容

range()函数

range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

此函数— range(起始,始终,步长) 生成一个数据集合的列表 在始终当中 100 输出 99,步长就相当于间隔。

函数语法

  • range(start,stop,step)


参数说明:


  • start: 计数从 start 开始。默认是从 0 开始。例如 range(5)等价于 range(0, 5)

  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4] 没有 5

  • step: 步长,默认为 1。例如:range(0, 5) 等价于 range(0,5,1)


题目一:求输出 1~100 之和和的数(用 for 循环进行使用)


sum = 0for max in range(1,101):    sum += max   # sum = sum + max    passprint()  # 换行print("sum = %d"%sum)
复制代码


点击并拖拽以移动


  • 这里主要就是对 for 循环的一个使用或者是理解,当然在 for 循环里面每次还需要递增+1


题目二:求出 50~200 的倍数分别求出奇数以及偶数以及总和(for 循环)


odd = 0  # 奇数even = 0  # 偶数for date in range(50,201):    if date % 2 == 0:        print("偶数:date = %d"%date,end=' ')        odd += 1    else:        print("奇数:date = %d"%date,end=' ')        even += 1        passprint()             # 注意:占位符号print("偶数加起来的总数 = %d"%odd)print("奇数加起来的总数 = %d"%even)
复制代码


点击并拖拽以移动


  • 这道题相比之下确实有些难度,因为它还用到了我们前面说的 if 语句的双向判断,注意作用域


拓展:在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别

else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行

while … else 也是一样。



break 语句

  • Python break 语句,就像在 C 语言中,打破了最小封闭 for 或 while 循环。

  • break 语句用来终止循环语句,即循环条件没有 False 条件或者序列还没被完全递归完,也会停止执行循环语句。

  • break 语句用在 while for 循环中。

  • 如果您使用嵌套循环,break 语句将停止执行最深层的循环,并开始执行下一行代码。

  • 用一段话来讲的话就是:break:代表中断结束的意思,只要是满足条件直接结束本次循环跳出来了, 只能用于循环语句当中的!

  • 那么我就用一个代码告诉大家 break 的使用吧!


print('******break的使用******')sum = 0  # 总和for itlm in range(1,51):    sum = sum + itlm    print("%d"%sum,end=' ')    pass    if sum >= 100:        print()        print('循环执行到%d到了这个地方就是退出来了'%itlm)        break  # 退出循环        pass
复制代码


点击并拖拽以移动


  • 当 sum 的值大于等于 100 等时候,for 循环就不再执行会退出来,这就是 break 语句作用!

continue 语句

  • Python continue 语句跳出本次循环,而 break 跳出整个循环。

  • continue 语句用来告诉 Python 跳过当前循环的剩余语句,然后继续进行下一轮循环。

  • continue 语句用在 while for 循环中。

  • 概括的话来说:continue 语句, 结束本次的循环继续进入下一次的循环,当 coutinue 的条件满足的时候,本次循环剩下的语句将不再会执行,后面的循环还是会继续的


print("******continue******")Count = 0for new in range(1,101):    if new%2 == 0:        continue               print('continue')        pass    print("奇数%d"%new,end=' ')    Count = Count + 1    passprint()print("奇数总和:%d"%Count)
复制代码


点击并拖拽以移动


  • 这里偶数都被这层 coutinue 语句循环给跳过了,所以不执行了,这就是 continue 的作用。

pass 语句

Python pass 是空语句,是为了保持程序结构的完整性。


pass 不做任何事情,一般用做占位语句~


Python 语言 pass 语句语法格式如下:


  • pass




以上就是[Python]第二章的内容了,之前的[Python 第一章还不错],如果各位觉得这个第二章的内容对你们有所帮助,记得点赞+评论+收藏。在这里真的非常感谢,自从写了博客,我都感觉我头发少了几根了😂


发布于: 刚刚阅读数: 4
用户头像

泽En

关注

好像没有😅 2022.01.29 加入

CSDN嵌入式领域新星创作者、2021年度博客之星物联网与嵌入式开发TOP5、2022博客之星TOP100 掘金创作者

评论

发布
暂无评论
【Python】第二章(条件语句和循环语句)