走出Python新手村第二步:循环【玩转Python】

举报
叶一一 发表于 2023/12/26 09:37:42 2023/12/26
【摘要】 前言新的主线任务已开启,第一关了解一下Python中的条件语句。今日迎来了走出Python新手村的第二个关键步骤:循环。让我们一起开启新的Python主线任务吧。文章速度阅读完本篇文章,开发者将有以下收获:如何在利用高效的 for 循环的同时,以不同于其他元素的方式对特定的列表元素进行处理;如何使用 while 循环让程序不断运行,直到指定的条件不满足为止;掌握不同控制 while 循环流程...

前言

新的主线任务已开启,第一关了解一下Python中的条件语句。今日迎来了走出Python新手村的第二个关键步骤:循环。

让我们一起开启新的Python主线任务吧。

文章速度

阅读完本篇文章,开发者将有以下收获:

  • 如何在利用高效的 for 循环的同时,以不同于其他元素的方式对特定的列表元素进行处理;
  • 如何使用 while 循环让程序不断运行,直到指定的条件不满足为止;
  • 掌握不同控制 while 循环流程的方式:使用 break 语句、使用 continue 语句

while 循环

介绍

相较 for 循环用于针对集合中的每个元素都执行一个代码块,while 循环会不断运行,直到指定的条件不满足为止。

笔记

选择何时退出

当满足指定条件时,可以退出 while 循环。

对于列表的循环,一般会将条件指定为不超过列表的长度。

在不超过列表长度的情况下,使用 if-else 语句进行一些条件判断,输出满足条件的内容。

打印下面的代码,看看谁才是当之无愧的"好运锦鲤"。

name_list = ['yeyiyi', 'shangyingyan', 'lily', 'ann', 'ningjie', 'ningzaichun', 'chaipaopao', 'fayi']
def getSelf(self):
    index = 0
    while index < len(name_list):
        print(f'好运积累中...')
        if self in name_list:
            print(f'恭喜{self},获得"好运锦鲤"的buff')
            break
        else:
            print(f'亲爱的{self},下次更幸运')
            break
        index += 1

当 getSelf 方法入参中的名字存在于列表中,则打印文字为:恭喜shangyingyan,获得"好运锦鲤"的buff;

当 入参中的名字不在列表中,则打印文字为:恭亲爱的zhangsan,下次更幸运。

getSelf('shangyingyan')
>>> 好运积累中...
>>> 恭喜shangyingyan,获得"好运锦鲤"的buff

getSelf('zhangsan')
>>> 好运积累中...
>>> 亲爱的zhangsan,下次更幸运

使用break退出循环

还是上面的功能,我去掉 break,在来看下打印结果:

>>> 好运积累中...
>>> 亲爱的zhangsan,下次更幸运
>>> 好运积累中...
>>> 亲爱的zhangsan,下次更幸运
>>> 好运积累中...
>>> 亲爱的zhangsan,下次更幸运
>>> 好运积累中...
>>> 亲爱的zhangsan,下次更幸运
>>> 好运积累中...
>>> 亲爱的zhangsan,下次更幸运
>>> 好运积累中...
>>> 亲爱的zhangsan,下次更幸运
>>> 好运积累中...
>>> 亲爱的zhangsan,下次更幸运
>>> 好运积累中...
>>> 亲爱的zhangsan,下次更幸运

通过结果不难看出,循环进行了8次,也就是列表的长度次。

所以,使用 break 可以立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何。

使用 break 语句来控制程序流程,可用来控制哪些代码行将执行、哪些代码行不执行,从而让程序按你的要求执行你要执行的代码。

在循环中使用 continue

continue 语句也十分的妙,它可以根据条件测试结果决定是否继续执行循环。

比如下面的列表中有重复的名字,让我们一起找出这些重复的名字都在哪些位置。

name_list = ['yeyiyi', 'shangyingyan', 'yeyiyi', 'lily', 'ann', 'yeyiyi', 'ningjie', 'ningzaichun', 'chaipaopao', 'fayi']
def getSelf(self):
    index = 0
    while index < len(name_list):
        name_item = name_list[index]
        index += 1
        if self == name_item:
            print(f'{self}在位置{index}')
            continue
        print(index)
getSelf('yeyiyi')

上面的代码,找到条件的元素会执行 continue 语句,继续进行下一轮循环。

需要查找的名字"yeyiyi"存在于位置1、3、6,if 语句中在找到名字的位置加了 continue,所以 if 语句中可以得到名称的位置。

而 if 语句外层的获取所有的位置值中,是不包含1、3、6三个位置的。

>>> yeyiyi在位置1
>>> 2
>>> yeyiyi在位置3
>>> 4
>>> 5
>>> yeyiyi在位置6
>>> >>> 7
>>> 8
>>> 9
>>> 10

总结

本篇主要是对 Python 中循环的学习和运用,同时还做了适当的功能延伸探索。

我最近在看一些用 Python 实现的项目源码,发现这个知识点的出镜率还挺高,掌握它们对实际开发会大有裨益。


作者介绍
非职业「传道授业解惑」的开发者叶一一。
《趣学前端》、《CSS畅想》等系列作者。华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏️ | 留言📝

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。