首页 > 编程语言 >Python循环语句:for循环和while循环

Python循环语句:for循环和while循环

时间:2024-03-26 18:04:55浏览次数:31  
标签:语句 Python list1 else while 循环 print

在编程中,有时需要让代码重复多次相似或相同的操作。比如输出列表中的逐个元素,我们通常不喜欢下面这种编程方式:

list1 = [0, 1, 2, 3, 4]
print(list1[0])
print(list1[1])
print(list1[2])
print(list1[3])
print(list1[4])

此时运行结果会依次输出列表的元素,但显然这会让代码显得冗余,而且当元素数量很庞大时这几乎就变成了一个不可能的任务,所以就要用到循环语句

在Python中,循环语句分为有for循环和while循环两种。

for循环

for循环的流程图如下所示:

当需要需要遍历整个序列,或需要自定义循环次数,就可以使用for循环语句。for循环的语法为:

for i in sequence:

        <执行语句>

i为变量,名字可任意指定,sequence为需要被遍历的序列。

例如,使用for循环来逐个输出列表内的元素:

list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in list1:
    print(i, end = ' ')    #用end进行同行输出
                           #运行结果为0 1 2 3 4 5 6 7 8 9 

如果想按顺序输出列表内前i个元素,或自定义循环次数,需要使用到python内置的函数range。

比如,遍历上面列表中的前五个元素:

list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(5):
    print(i, end = ' ')#输出结果为0 1 2 3 4 

print(list(range(5)))  #输出结果为[0, 1, 2, 3, 4]

最后一行代码表示,range函数本质上也是一种序列,当我们想把遍历次数作为参数给到range函数里,其实就是创建了一个从0数到n-1的一个序列,然后通过for循环来遍历这个序列。

注意,for循环中的变量i指向序列中的元素,而不是序列的索引,也不是循环次数。

list1 = [4, 5, 6]
for i in list3:
    print (i, end = ' ') #end用于同行输出
                         #运行结果为4 5 6 

while循环

while循环的流程如下图所示:

while语句的格式如下:

while <判断语句>:

        <执行代码>

while语句一般用于需要达成某种条件才能跳出循环的情况。比如用while循环来计算2的最大多少幂次不超过2050,当值数值超过2050时跳出循环。(pow(a, b)代表a的b次方)

n = 0
while pow(2, n) < 2050: #判断条件为计算结果不超过2050
    n = n + 1
print(n)                #运行结果为12

如果while后的判断条件为1,就可以实现无限循环。

break和continue

break表示跳出或结束循环过程去执行新的语句。

continue表示结束本次迭代并进行下一次迭代,当循环体很庞大且存在多个需要跳过它的原因时很有用。

例如,通过循环打印一段字符串,当遇到字母a时跳过输出,遇到字母e时中断循环:

for i in 'Iamastudent':
    if i == 'a':    
        continue            #如果为a继续循环不进行其他操作
    elif i == 'e':
        break               #如果为e跳出循环
    else:
        print(i, end = '')  #end用于同行输出
#运行结果为Imstud

pass语句

pass语句代表不执行任何操作,和continue区别的地方在于,使用pass语句之后不结束本次迭代。

for i in 'python':
    if i == 'p':
        pass
        print('Pass!')     
    elif i == 'y':
        continue
        print('Continue!')
    else:
        print(i, end = '') 

代码的运行结果为:

从运行结果可以看出,当执行pass语句时,并没有结束本次迭代,继续执行了下一行的打印语句。而执行continue语句时,结束了本次迭代,下一行的打印语句并没有执行。

else子句

else子句也可以与for循环语句一起使用,用于在循环结束执行一段代码。

例如在逐个输出列表元素时,当循环结束之后打印一次"循环成功结束!"。

number = [1, 4, 5, 8]
for i in number:
    print(i)
else:
    print("循环成功结束!")

代码运行结果为:

不过由此会产生一些疑问,如果不使用else语句,直接在循环结束之后加一句print打印语句结果不也是一样吗?

设想接下来一种情况,如果有一些"病毒"数据存在于列表中,当检索到病毒数据时,需要立即跳出循环,并且不能输出"循环成功结束!"语句。

number = [1, 4, 5, 'virus', 8]
for i in number:
    if i == 'virus':
        print("Error!")
        break
    else:
        print(i)
else:
    print("循环成功结束!")

代码运行结果为:

由此可见,else子句在循环中也有其存在的理由。当时用break语句跳出循环时,是不执行else语句的。

标签:语句,Python,list1,else,while,循环,print
From: https://blog.csdn.net/a4546565/article/details/137018301

相关文章

  • Python中实现跑马灯效果
    跑马灯效果是一种在显示屏上文字或图像连续滚动的视觉效果,常见于广告和通知。在Python中,我们可以使用标准库中的功能来创建这样的效果。本文将介绍如何使用Python实现简单的跑马灯效果。准备工作首先,确保你的Python环境已经安装了pygame库,它提供了创建游戏和实现动态视觉效果......
  • Python——timeit(运行时间平均值计算)
    可以计算其中运行代码所用的平均时间。importtimeitprint(timeit.timeit('a,b=10,20;a1=a;a=b;'))0.015125599999009864使用多重赋值的技巧来交换两个变量,也就是所谓的“迭代解包”它的运行时间是:importtimeitprint(timeit.timeit('a,b=10,20;a,b=b,......
  • 【Python程序开发】2024年安徽省职业院校技能大赛中职组“Python程序开发”赛项规程
    2023年安徽省职业院校技能大赛(中职组)“Python程序开发”竞赛规程一、赛项名称(一)赛项名称Python程序开发赛项归属产业类型电子信息产业赛项归属专业大类组别专业大类专业类专业代码专业名称中职电子与信息大类电子信息类710101电子信息技术中职电子与信息大类计算机类7......
  • 【一】了解计算机的原理以及Python
    【一】编程和编程语言是什么【1】什么是编程编程其实就是将人类的语言转换为计算机能识别的语言【2】什么是编程语言人和人之间都会进行交流人和人之间交流的媒介就是语言编程语言就是人与计算机之间进行交流的语言【3】为什么要出现编程语言最根本的原因就是计算机......
  • Python——代码书写风格
    Python之禅TimPeters的“Python之禅”汇集了Python语言涉及和Python编程20条准则。它是个复活节彩蛋,或者说是隐藏的笑话。当运行importthis时就会出现。importthisTheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitisbetterthanimplicit.......
  • 人工智能时代都要来了,为什么还要学习Python?
    前言Python是当今非常流行的编程语言,在互联网上经常可以看到他的身影。它应用非常广泛,例如编程、Web开发、机器学习和数据科学Q等。TIOBE官网近日公布了2023年8月的编程语言排行榜。Python依然排行第一,占比13.33%、C语言排行第二,占比11.41%、C++排行榜单第......
  • python新手怎么兼职-用Python在家兼职赚钱的4个方法
    随着人工智能技术的发展,各行各业都在发生着变化,每天AI(人工智能)新技术都在冲击着各行各业,比如WPS的智能设计、阿里的鲁班等等,总有一种干死干活不如早点掌握新技能的感觉,避免心中的小慌张。其实最近大火的AI,学习起来也不是想象中那么复杂的,只要掌握一个技能就能入门了,那就是:P......
  • python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了
    本文罗列了了python零基础入门到精通的详细教程,内容均以知识目录的形式展开。01.python由来与发展介绍02.项目开发流程第一章markdown编辑器01.markdown基本语法02.Typora简介与安装03.Windows上gitee+Typora设置图床04.macOS上gitee+Typora设置图床第二章计算机......
  • 如何才能Python快速入门?
    无论是哪种编程语言,最开始往往是最难的,那么今天,我就来谈谈如何才能快速入门python编程。设定目标如果你学python是想找工作的话,可以先看看对于python程序员的相关招聘要求,比如这是我在某网找到的一个有关初级Python程序员的招聘要求,可以看看:熟悉Python及常用的Web开发框......
  • Python兼职 | 分享几个Python接单的途径!
    “Python能挣到钱吗?靠Python接单月入w假的吧!”网上这类话题帖子不少,争议呢也不少,Python能接单挣钱肯定不假,至于能挣多少我说看个人技术,技术到位挣钱不是难事,技术不得行,想靠Python挣钱那就跟你没太大关系。我也是业余自学的Python,平常得空的时候会接一些活儿来赚外快,一百多......