课时46:while语句

简介: 本文主要介绍Python中的循环语句,重点讲解了while循环。通过实际需求引出循环语句的概念,即让指定代码块重复执行指定次数。详细阐述了while循环的语法、执行流程,强调了避免死循环的方法,说明了循环的三个关键表达式(初始化、条件、更新)及其作用。还介绍了while循环中else子句的用法,并布置了四个练习。 1.循环语句2.while循环的语法与执行流程3.避免死循环与循环的三个要点4.while循环的实际应用与else子句5.循环语句练习布置

课时46:while语句

 

摘要本文主要介绍Python中的循环语句,重点讲解了while循环。通过实际需求引出循环语句的概念,即让指定代码块重复执行指定次数。详细阐述了while循环的语法、执行流程,强调了避免死循环的方法,说明了循环的三个关键表达式(初始化、条件、更新)及其作用。还介绍了while循环中else子句的用法,并布置了四个练习。 

1.循环语句

2.while循环的语法与执行流程

3.避免死循环与循环的三个要点

4.while循环的实际应用与else子句

5.循环语句练习布置

 

01、 循环语句


接下来我们学习另一组非常重要的语句——循环语句。创建一个新文件“06循环语句.py”来进行讲解。什么是循环语句?举个例子,现在执行`print("hello")`,屏幕上会出现一个“hello”。假设想要在屏幕上打印五个“hello”,有的同学可能会说直接复制粘贴五次,执行后就能得到五个“hello”;如果想要十个,就再复制粘贴一次。但要是想打印8848个“hello”,这样复制粘贴就太麻烦了。

image.png

实际上,不管是打印几个“hello”,本质上就是让`print`语句重复执行指定次数。这时候就需要循环语句了,循环语句可以使指定的代码块重复指定的次数。循环语句主要分为两种:`while`循环和`for`循环。这节课我们先来讲`while`循环。

 

02、 while循环的语法与执行流程


`while`循环的语法和`if`语句很相似。`while`语句以`while`开头,后面跟着一个条件表达式,再加上冒号,冒号后面是代码块(也叫循环体)。它的执行流程是:先对`while`后面的条件表达式进行求值判断,如果判断结果为`True`,就执行循环体(代码块)。这部分和`if`语句很像,不同的是, `if`语句执行完代码块就结束了,而`while`循环体执行完毕,会继续对条件表达式进行求值判断,如此循环,直到判断结果为`False`时,循环才终止。

比如,我们写`whileFalse:`,后面跟`print("hello")`,因为条件是`False`,所以“hello”不会被打印出来,执行代码后没有任何输出。但如果把条件改成whileTrue:,保存运行后就会出现问题。程序会不断打印“hello”,导致程序卡死,这是因为条件始终为`True`,这种循环被称为死循环。在开发中,死循环要慎用,只有在确定真的需要时才使用。通常情况下,在命令行中可以用`Ctrl+C`来终止死循环的程序。

  image.png


03、 避免死循环与循环的三个要点


为了避免死循环,我们需要注意循环的三个要点,也就是三个表达式。第一个是初始化表达式,用于初始化一个变量,例如`i=0`,给变量`i`赋初始值。第二个是条件表达式,像`i<10`这样的表达式,它用来设置循环执行的条件,并且一般会用到初始化表达式中定义的变量。第三个是更新表达式,通常写在循环体内,比如`i+=1`,作用是修改初始化变量的值。

image.png

以`i=0`、`i<10`、`i+=1`为例,每次循环执行时,`i`的值都会自增1。第一次循环时`i`是0,执行完循环体后`i`变成1;第二次循环`i`变成2,以此类推,当`i`等于10时,`i<10`这个条件表达式的值为`False`,循环就会停止。这样就形成了一个会执行10次的循环,而不是死循环。

image.png

如果想要创建一个执行指定次数的循环,比如执行10次,就可以按照上述方式编写代码。这里要注意,初始化变量的值如果是0,那么条件表达式中“小于几”循环就会执行几次,小于八千就是八千次;如果初始化变量的值是1,循环执行次数会比“小于的值”少1次。所以一般初始化表达式的值设为0。

#创建一个执行十次的循环
i=0
While i<10
i+=1
print(i)

image.png

在实际应用中,利用`While`循环可以很方便地让代码块执行指定次数。比如想要打印10个“Hello”,就在条件表达式中设置`i<10`,循环。想要1000个就小于1000,非常的方便。

这个代码块我们就成为循环体,可以让我们这个循环体它执行指定的次数,循环语句非常简单,然后再往下说,实际上如果这个语句我们再完善一点的话,循环语句While下边我们还可以再写一个Else。

Else后边也跟着一个代码块,你会发现这写完了,就更像我们这个If语句了,那这Else什么效果来加一个Else,我们这来一个Print(‘Else中的代码块’),我们来看看它什么时候执行,这是十次循环来看效果。执行了一个Else在我们的Sublime里执行也是一样的,

直到判断结果为False,则循环终止。如果循环有对应的Else.则执行我们这个Else后的一个代码块,也就是说Else什么时候执行?就是当这个条件表达式为True, 为False的时候,Else就会执行,当然有会执行,没有就不执行,没有就不执行,所以这也是我们这个While的一个特点。它在这里面可以写这个Else,这也是我们Python里边独有的。

循环语句非常的简单,你需要做的是把这个语句的语法自己来尝试,去写一下,自己可以根据需要创建一个指定次数的一个循环。

我们这有几个练习循环语句,有四个练习

练习,求100以内所有奇数之和。

练习二,求100以内所有七的倍数之和以及个数。

练习三,求水杨花数。

练习四,是任意数。

判断它是否是质数,至少现在练习一练习二,可以思考一下练习三,练习四。稍微有一点难度,我们可以先思考一下练习一,还有练习二,先停一下,把刚才做一下,然后把练习一,练习二尝试去写一下。

相关文章
|
存储 JavaScript 对象存储
oss与cdn的区别与联系
oss与cdn的区别与联系
817 0
|
9月前
|
IDE Java 开发工具
如何在代码审查中高效地发现数组越界问题?
如何在代码审查中高效地发现数组越界问题?
319 56
|
9月前
|
测试技术 C++ 索引
除了代码审查,还有哪些方法可以预防数组越界问题?
除了代码审查,还有哪些方法可以预防数组越界问题?
250 56
|
9月前
|
JavaScript
Pinia 与 Vuex 4 相比有哪些优缺点?
Pinia 与 Vuex 4 相比有哪些优缺点?
476 57
|
6月前
|
容器
HarmonyOS Next快速入门:列表布局(List)
本课程介绍HarmonyOS Next中列表布局(List)的使用,涵盖列表组件的基本结构、循环渲染、分隔线设置及滚动条控制,适合初学者快速掌握HarmonyOS应用开发中的常用列表实现方法。
1188 0
|
9月前
|
监控 安全 Cloud Native
企业网络架构安全持续增强框架
企业网络架构安全评估与防护体系构建需采用分层防御、动态适应、主动治理的方法。通过系统化的实施框架,涵盖分层安全架构(核心、基础、边界、终端、治理层)和动态安全能力集成(持续监控、自动化响应、自适应防护)。关键步骤包括系统性风险评估、零信任网络重构、纵深防御技术选型及云原生安全集成。最终形成韧性安全架构,实现从被动防御到主动免疫的转变,确保安全投入与业务创新的平衡。
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
303 2
|
安全 网络安全 网络架构
电脑提示“Waiting for Device”的解决方案
电脑提示“Waiting for Device”的解决方案
978 4
|
机器学习/深度学习 Python
机器学习中模型选择和优化的关键技术——交叉验证与网格搜索
本文深入探讨了机器学习中模型选择和优化的关键技术——交叉验证与网格搜索。介绍了K折交叉验证、留一交叉验证等方法,以及网格搜索的原理和步骤,展示了如何结合两者在Python中实现模型参数的优化,并强调了使用时需注意的计算成本、过拟合风险等问题。
826 6
|
机器人 计算机视觉 Python
使用Python生成图片验证码
本文介绍了如何使用Python的PIL库生成简单的验证码图片和文本。通过实现CaptchaGenerator类,我们可以轻松生成包含随机字符和干扰元素的验证码。这种技术可以应用于Web应用程序中,用于增强用户验证的安全性和可靠性。

热门文章

最新文章