Python循环的本质是一段代码懒得重复写。程序中的循环概念非常容易理解。完成这个操作的程序是一个循环。比如从1到100,按顺序加,你会发现代码又臭又长。最好的写法当然是让程序通过循环依次累加。for循环for循环可以遍历(也叫迭代)对象中的元素,每次遍历都可以对元素进行相应的处理。在这篇博客中,可遍历(迭代)对象目前是列表类型。for循环的语法格式如下:foriteminmy_list(iterableobject):forcodeblock上面代码中的item是每次循环得到的对象,可以迭代对象中的每一个值。这里最重要的概念是可迭代对象(iterableobject)。还需要记住后面经常用到的英文。可迭代对象有多种类型,例如列表、元组、字典和集合。除了列表以外的其他内容以后再学习。for循环基本使用学习列表后,需要对for循环建立一个基本概念,即for循环可以依次获取列表中的每一项,注意获取顺序。写代码的时候要注意缩进,就像if语句一样。接下来,通过for循环打印列表中的每一项。my_list=["apple","orange","banana","pear"]foriteminmy_list:print(item)for循环语句可以由多行代码组成,只要缩进一致即可,例如:my_list=["apple","orange","banana","pear"]foriteminmy_list:print("Outputafruit")print(item)for循环嵌套if判断语句可以有多段代码在for循环中,所以其实嵌套if语句也是可以的。具体写法可以参考:my_list=[1,2,3,4,5,6,7]foriteminmy_list:ifitem>3:print("该元素大于3")print("元素为:",item)上面代码可以判断当列表中的元素个数大于3时,会输出if语句的内容,可以尝试补全else语句。range函数可以通过Python中的range函数生成等差数列。这个等差数列是一个可迭代对象。如果使用type函数查看对象类型,会发现range函数生成的对象类型为range。具体代码如下:my_range=range(4)print(my_range)print(type(my_range))输出结果为:range(0,4)可以看到range函数生成了一个range对象,上面使用了range函数,语法格式为range(4),一般语法格式如下:range(start,stop,step)其中只需要stop,step默认值为1、如果省略start,默认表示从0到stop-1。具体运行下面的代码就清楚了。my_range1=range(4)foriinmy_range1:print(i)print("#"*10)my_range2=range(1,4)foriinmy_range2:print(i)print("#"*10)my_range3=range(1,6,2)foriinmy_range3:print(i)的输出如下,我们都是使用for循环语句输出,也可以使用list函数。0123##########123##########135范围函数是后续编程中常用的函数。在很多场景下,需要用到它来生成等差数列,所以请用这个函数拿稳。所谓精通,就是现在要敲十几个代码。for循环循环嵌套补充知识一个循环中的代码块嵌套另一个循环称为循环嵌套,在写循环嵌套代码时需要注意。您必须注意代码块的缩进。检查代码块属于哪个for循环分析。这是一个经典案例。Eraser在学习的时候,我在这里浪费了很多精力。这应该是一个比较难懂的程序,通过Python输出一张九九乘法口诀表。foriinrange(1,10):forjinrange(1,10):print("%d*%d=%3d"%(i,j,i*j),end="")打印("")运行代码后如下图所示:本程序包含for循环、嵌套for循环、格式化输出字符串、不同层次的缩进。执行循环的时候,可以先这样理解,外循环运行一次,内循环运行一次。这句话的意思对于初学者来说现阶段是很难理解的。这是什么意思?很多教科书可能会写流程图告诉你怎么分支,怎么走。这是非常费力的,在橡皮擦看来,这是一个顿悟。标记上面代码中的两行。外层循环是顶层循环,循环一次,内层循环是包含变量j的for循环。如果需要循环一次,就循环一次。这就是结论。当i=1时,j从1变为10,然后输出一个print("");当i=2时,i还是从1变成10,然后输出一个print("");当i=3...,然后输出一个print(""),当i=4时,再输出一个print("")当i=9时,内循环完成最后一圈。所有循环都已运行完毕,程序结束。特别是当打印函数输出时,它默认会有一个\n。前面的课程学习过这个符号代表换行符。如果要去掉print函数自带的换行符,需要用到end参数,即print("待输出的内容",end="")。别着急,虽然我把过程解释的很详细,但是看得懂的同学当场就明白了。如果听不懂或者听不懂,这个地方真的很难(很难吗?),但是不用担心。来的越来越多,慢慢就会得到。如果你不会写这个,不影响后续学习。总之,写两遍就明白了。break终止循环,你是这样理解的。当满足某个条件时,我不想再循环了。这就是break的使用场景。当满足某个条件时,必须使用if语句。例如循环列表时,如果出现大于3的数,则终止循环,代码如下:foriinrange(1,10):ifi>3:print("Ifanumbergreaterthan3出现,循环终止")breakcontinue继续循环。continue类似于break。都是满足某个条件的时候要做的事情,但是程序遇到了continue关键字。它不会终止循环,而是进入下一个循环。不管当前周期还剩下什么工作,都不要做。foriinrange(0,5):ifi>3:continueprint("当前数是:",i)上面代码中的for循环中有一个if判断,当i>3时,就是list中的number大于3则直接进入下一个循环。这样会造成一个问题,在循环中找到大于3的数字后,不会执行打印,所以运行代码时会发现如下结果,只显示小于等于3的数字。当前数是:0当前数是:1当前数是:2当前数是:3for...else循环for...else循环是Python中一种特定的语法结构。说白了就是当for循环执行完就执行else。很多时候,大白话都能听懂,你可以用它来描述清楚这是干什么的。这个知识点其实已经掌握了,初学阶段没必要再强词夺理。例如,测试以下代码:foriinrange(0,5):ifi>3:continueprint("Thecurrentnumberis:",i)else:print("Nomatterwhattheforloopabovedone,IwantExecuteonce")这里其实还有一个知识点需要补充一下,就是代码配对的问题,什么是配对,if和else是一对,为什么会有这样的说法,看下面的代码:ifcondition:passifcondition:passelse:passpass的意思是占位符,这个关键字在Python中是支持的,但是我还没想好这里要写什么代码,就造个词来占位吧。上面代码中有两个if和一个else。必须注意else和最近的if是一对,最上面的if是普通if。这种问题在代码嵌套的时候比较有意思。ifcondition:passifcondition:ifcondition:passelse:passelse:pass根据缩进关系,找出if和else中哪一对是一对很重要。肉眼是看不出来的,但实际上是在敲击键盘。把你刚刚学到的东西放在一起,你现在知道如何配对else了吗?while循环while循环在Python中也是一种循环语法,但是这种循环很容易变成死循环,即一直循环下去,直到电脑死机。死循环是有害的,但也有它的应用场景,后面我们会学习到。while循环的语法格式如下:whilecondition:代码块格式中的条件非常重要。条件计算出来后,需要判断其真假。如果为真(True),就会进入while中的代码块运行程序。while循环的经典应用while循环除了for循环的语法结构不同外,很多地方基本相同。接下来完成一个通过while循环实现的经典案例——猜数字,勉强算是个游戏。#最后的答案是12,其实可以用一个随机数answer=12#用户猜的数guess=0#条件是判断guess不等于answhileguess!=answer:guess=int(input("请输入一个1~100之间的数字:"))ifguess>answer:print("你的数字太大了")elifguess