Python基础 —— 循环语句

img

如约来更新循环语句了.说到循环,有一定编程基础的小伙伴们都知道,我们最常用的循环莫过于 while循环,for循环和goto循环(不过goto也不怎么常用),所以今天就来说一说 while循环和 for循环

来看一下本文大致结构:

  • while 循环
  • break语句continue语句
  • for 循环

一、while 循环

while循环 除了需要使用缩进来执行循环体里的语句,其它几乎和C语言相同。

  • 流程图

img

  • 格式
while 条件语句:执行的语句1执行的语句2...执行的语句N

当条件语句为真(True)时,就会执行while循环下的语句

  • 示例

下面的代码用于实现 1到100 的累加并输出:

sum=0
i=1
while i <= 100:sum=sum+ii=i+1               #注意:Python中没有 i++ 或 i-- 这种自增或自减运算符
print(sum)

其次,while中的条件语句可以不唯一,但是不再像C语言一样用 &&||! 等逻辑运算符(因为Python中没有这些),而是用 and(与),or(或),not(非) 这三个Python中有的逻辑运算符来进行多个条件的连接。

例如:

a = 1
while a==1 or a==2:    #当 a等于1 或 a等于2 进行while循环a = a + 1
print(a)               #输出 3
  • 死循环

当我们需要计数很多次,甚至连我们自己也不知道要计数多少次的时候,死循环或许是一个不错的选择,while死循环一般格式如下:

while True:         #使条件始终为真 例如" while 2>1: "执行的语句1执行的语句2...执行的语句N
  • while…else… 结构

其次,介绍一下 while…else…结构 ,不过不常用。

格式如下:

while 条件语句:     执行的语句1执行的语句2...执行的语句N
else:执行的语句N+1执行的语句N+2...

while的条件语句为真时,执行下面的语句1到语句N,当条件为假时,执行else下面的语句。


二、break语句 和 continue语句

这两个语句都是在循环中发挥作用的,用于对循环结构的操作

1. break 语句

break 语句 可以立即终止当前循环的执行,跳出当前所在的循环结构。

举个例子,假如你打算把课本复习10遍,当你复习第三遍时,突然旁边的手机对你使用了break语句,你便停止了循环的复习,开始执行循环复习之外的事情。

  • break语句的一般格式:
while True:执行的语句1执行的语句2break          #break语句后面的语句就不再执行了,并跳出循环...执行的语句N

上面的代码中,当循环里的语句执行到break语句时,循环就被中断了(就像你的复习一样被打断了),就开始执行while循环后的语句了。

2. continue 语句

continue 语句 也是在循环中起作用,它会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。

同样举个例子,同样假如你要把课本复习10遍,你复习第三遍时,一阵风把你的书吹合上了,你忘记是第几页了,便只能从头开始看。这时,这阵风就相当于continue语句,结束了当前循环,但还会进行下一次循环。

  • continue语句的一般格式:
while True:执行的语句1执行的语句2continue       #continue语句后面的语句在这次循环不再执行,但在下次循环还会执行,并不会跳出循环...执行的语句N

上面的代码中,当循环里的语句执行到continue语句时,这次循环就被中断了(就像风吹乱了你的课本),还会执行下一次的循环。


三、for 循环

  • range()函数

说到for循环,就必然要说到它的好兄弟range()函数,因为很多有for循环的地方都能用到它。所以我们先来讲讲range()函数。

功能:根据起始数字终止数字步长 来返回 可迭代对象 (在Python3中,Python2返回的是列表,这里不做深究)

格式:

range(起始数字,终止数字,步长)

起始数字:开始计数的数字;默认为0,所以该项在写时可省略,例如 range(10) 等价于 range(0,10)

终止数字:终止计算的数字,但不包含该项,例如 range(0,3) 依次返回 0,1,2,并不包含 3 ;无默认值,所以该项必填;

步长:就是连续返回的两个数字间隔大小,例如 range(0,10,3) 依次返回 0,3,6,9,每两个相邻数字之间间隔大小为3;其次,步长可为负数,用法和正数差不多,例如 range(10,0,-3) 依次返回 10,7,4,1,相邻两个数字相差 -3


  • for 循环

for循环想必学过C语言的同学是再了解不过了,但是Python中for循环的语法相对于C语言中有了较大不同,所以千万不要把两者弄混了哦!

流程图

img

格式:

for 变量名 in 可迭代对象名:执行的语句1执行的语句2...执行的语句N

此处我们只讨论for循环与range函数有关的用法;

例子:

我们用for循环来改写上面 1100 的累加

sum = 0
i = 1
for i in range(1,101,1):sum = sum + i
print(sum)

for…else 结构

这个和 while…else结构 一样不常用,大致格式为

for 变量名 in 可迭代对象名:执行的语句1执行的语句2...执行的语句N
else:执行的语句N+1执行的语句N+2...

它会在上面的for循环执行完之后,执行else下面的语句,和 while…else结构 差不多。


到这里,本节就结束了,感兴趣的小伙伴可以看一下下面的题目哦!

四、题目

请用Python实现并计算 1x2x3+3x4x5+…+99x100x101的结果并输出。

答案: while循环版:

sum = 0
i=1
while i<=99:sum = sum + i*(i+1)*(i+2)i = i + 2
print(sum)

for循环版:

sum = 0
i=1
for i in range(1,101,2):sum = sum + i*(i+1)*(i+2)
print(sum)

本节到这里就结束了,欢迎观看下期哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/5490.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ - 20230628

一. 思维导图 二. 练习 1) 总结类和结构体的区别 本身的访问级别不同struct是值类型&#xff0c;class是引用类型struct在栈&#xff0c;适合处理小型数据。class在堆区&#xff0c;适合处理大型逻辑和数据。 2) 定义一个矩形类&#xff08;Rectangle&#xff09;&#xff…

游戏革命2023:AIGC拯救游戏厂商

文明史即工具史&#xff0c;纵观人类社会的演化&#xff0c;每一次的加速迭代&#xff0c;都有赖于关键性的技术突破。 前有蒸汽机到电力普及的生产力大爆发&#xff0c;以及计算机、互联网的诞生打开新世界&#xff0c;如今AIGC将再次推动先进技术工具的变革。 随着ChatGPT的…

Web安全——PHP基础

PHP基础 一、PHP简述二、基本语法格式三、数据类型、常量以及字符串四、运算符五、控制语句1、条件控制语句2、循环控制语句3、控制语句使用 六、php数组1、数组的声明2、数组的操作2.1 数组的合拼2.2 填加数组元素2.3 添加到指定位置2.4 删除某一个元素2.5 unset 销毁指定的元…

自然语言处理从入门到应用——预训练模型总览:两大任务类型

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 相关文章&#xff1a; 预训练模型总览&#xff1a;从宏观视角了解预训练模型 预训练模型总览&#xff1a;词嵌入的两大范式 预训练模型总览&#xff1a;两大任务类型 预训练模型总览&#xff1a;预训练模型的拓展 …

MFC扩展库BCGControlBar Pro v33.5新版亮点 - 控件、脚本管理增强

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中&#xff0c;并为您节省数百个开发和调试时间。 BCGControlBar专业版 v33.5已正式发布了&#xff0c;此版本包含了Ribbon&#xff08;功能区&#xff09;自定义…

若依-vue图片上传本地改OSS前台以及后台-附带oss图片上传工具类

阿丹&#xff1a; 在二次开发若依的过程中发现若依的图片上传的默认的是在本地&#xff0c;在spring-vue版本中&#xff0c;如果要将平台上线那么就需要考虑这个问题&#xff0c;要使用fastdfs或者oss来完成代替本地的图片上传。 本篇文章我使用了oss来完成图片上传以及前台的…

【pytorch函数笔记】torch.sum()、torch.unsqueeze()

1.torch.sum torch.sum(imgs, dim0) # 按列求和 torch.sum(imgs, dim1) # 按行求和 imgs torch.Tensor([i for i in zip( range(10), range(10))]) print(imgs) s1torch.sum(imgs, dim0) # 按列求和 s2torch.sum(imgs, dim1) # 按行求和 print(s1) print(s2) 2.torch.uns…

【HTTP 协议】

一、HTTP 协议简介 在真实的网络环境中采用 TCP/IP 五层网络传输模型这样的结构传输. 物理层 -> 数据链路层 -> 网络层 -> 传输层 -> 应用层 1. 应用层: 应用层是模型的最顶层&#xff0c;它为用户提供了一种与网络进行通信的方法。应用层包含了各种应用程序&…

网络抓包工具

目录 Wiresharktcpdump Wireshark Wireshark中的关键字 Seq和Ack是随机生成的&#xff0c;wireshark将Seq和Ack的初始值都设为0&#xff0c;即用“相对值”代替“真实值”方便查看。使用Edit——Preferences——Protocols——TCP选项中的Relative Sequence Numbers来选择启用在…

Jmeter

GUI Http访问接口测试 新建Thread Group、HTTP Request等四个功能&#xff0c;剩下两个在Listener Thread Group是新建测试用例&#xff0c;设置线程数。 HTTP Request 发送请求&#xff0c;设置服务的IP、端口号、请求方式、路径、编码方式、传入数据的Name、Value、Conten…

N-121基于微信小程序网上书城系统

开发工具&#xff1a;IDEA、微信小程序 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 前端技术&#xff1a;vue、uniapp 服务端技术&#xff1a;springbootmybatisredis 本系统分微信小程序和管理后台两部分&a…

设计模式学习之抽象工厂模式

设计模式系列往期文章 设计模式学习之策略模式设计模式学习之策略模式在前端的应用设计模式学习之简单工厂模式设计模式学习之工厂方法模式 如果你已经理解了工厂方法模式&#xff0c;那你能够很快的明白抽象工厂模式。 温习&#xff1a;什么是工厂方法模式 我们先温习一下…