python 循环语句_Python系列14:循环语句练习

1. 前言

前面了解了循环的基本结构和使用,本次再重温一下。for的基本形式为:

for 循环变量 in 遍历结构:

语句块

而while的其基本形式为:

while 判断条件:

语句块

二者在执行流程上有些许不同,代表着在使用场景上也会有些差异。while循环与for循环在应用过程中最大差异在于:while循环是基于条件判断的,而for循环则是基于容器的(没有明确对象的,如各个科室、班级等)。

while循环,当条件满足将一直处于循环状态(后面会提到的break等除外);

for循环,当容器内的元素没有迭代结束,则一直处于循环状态(后面会提到的break等除外);

日常遇到做循环问题时,先了解下是否有迭代对象,如果有就优先用for,如果没有就用whlie,只是说优先而非必须,是在很多情况下两种循环都可以来回转换,只不过效率上会所区别(看着有点迷糊,下边实操感受下)。

2. 练习

拿上次结尾处的例子来说:想要计算 1,  3,  5,  7,  9, 11, 13, 15, 17, 19 …… 95, 97, 99(即100以内的奇数-不能被2整除)的总和,用for与while的分别处理如下:

while 311149d4b37ba7c0a943dacfeb30edf2.png

for 02b09705f435fe89f2003f155196cc2d.png

两种都可以实现,while可以直接进行条件判断来实现,不需要构建任何的容器型变量(for_condition = np.arange(1,101,2)),从执行速度上看while也略微占点优势,不过整体可以忽略不计:

while: executed in 22ms,

for: executed in 24ms,

由于这种情况下,for需要将判断条件人为地组装成一个容器来实现条件的循环,相当于多了一步思考,这种情况下相比for用while更方便些,可以直接地处理掉;再看下面这种情况,把’I like python’这个语句全部打印出来(包括空格):

while

a00169770f7c494b9f187e1489afa635.png

for

8faafde6bba8537895bb64bd6c211ede.png

可以看出来,也都可以实现,for可以不需要转换,直接进行循环判断(可以将str_condiion = 'I like python'理解为一个容器),而while需要作一步转换,即判断下整体整句话的长度(len(str_condiion)表示这句话的长度大小,即包括空格在内一共有多少个字符),然后通过循环的方式,判断是否在字符的长度以内(注:这里涉及到引用,Python里的引用序号基本都是从0开始,即如果有10个字符组成的字符串,那么引用时其范围是0~9,而非1~10)。

有容器的这种情况下for更加好理解些,就相当于把里面的内容一个个拿出来,直到内容拿完为止;而没有容器的情况下while更好理解些,只要大于某个临界值就终止。

在实际使用的过程中会有其他的问题,比如如果只想打印str_condiion = 'I like python'中的字母,而不打印空格呢(可以考虑if判断等)?如果打印过程中碰到字母o即结束循环?那应该怎么做呢?

Python系列

python系列13:while循环

python系列12:for循环应用进阶

python系列11:循环结构

Python系列10:数据处理

Pytnon系列09:Python软件简介与安装(视频)

Python系列08:elif语句

Python系列07:if嵌套语句

Python系列06:if条件语句

python系列05:运算符(2)

Python系列04:运算符(1)

Python系列03:三种标识符

Python系列02:python数据类型

Python系列01:python安装与主要界面

----------------------------------------------

整理不易,欢迎点亮再看!

精鼎特邀

a1b9229ddf6be23f2c96671d798707d0.png

c4a2f633ad345215c0eaaaea2e398c9f.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值