ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

0基础学Python——第三章:循环语句

2026/10/7 9:41:06 拓冰建站 浏览量
0基础学Python——第三章:循环语句 目录while循环语句while循环while循环的嵌套print输出不换行制表符\tfor循环语句for循环for循环中常用的range语句for循环的变量作用域for循环的嵌套continuebreak习题练习题目题目答案hello小伙伴们今天来分享Python中的循环语句喽话不多说直接开始while循环语句while循环在Python中while循环的格式大致为while 条件:条件满足时应该要做的事情1条件满足时应该要做的事情2条件满足时应该要做的事情3······只要条件满足程序会一直无限循环执行。while循环注意事项① 条件是否满足提供布尔类型结果True则继续False则停止② 冒号英文后换行的空格缩进不能忽略③ 需要设置好循环终止条件防止无限循环执行程序。下面举一个例子希望帮助大家更好地理解# while后面的条件是布尔类型的 i1 while i3: print(月亮我喜欢你) ii1 # i1如上面的代码所示设置的循环条件是i100确保不会无限循环执行程序同时空格缩进和if判断一样都不能忘记。while循环的嵌套在Python中while循环的嵌套的格式大致为while 条件1:条件1满足时应该要做的事情1条件1满足时应该要做的事情2条件1满足时应该要做的事情3······while 条件2:条件2满足时应该要做的事情1条件2满足时应该要做的事情2条件2满足时应该要做的事情3······下面举一个例子希望帮助大家更好地理解# 外层表白3天的控制 # 内层每天的表白都送2支玫瑰花的控制 i1 while i3: print(f今天是第{i}天准备表白······) # 内层循环的控制变量 j1 while j10: print(f送给小美第{j}只玫瑰花) jj1 print(小美我喜欢你) ii1 print(f坚持到第{i-1}天表白成功)与判断语句的嵌套一样循环语句也要注意空格缩进基于空格缩进来决定层次关系同时也要注意条件的设置以防出现无限循环。print输出不换行首先观察以下代码我们只能得到换行的Hello和world。print(Hello) print(world)那么如果我们想要得到不换行的语句我们应该怎么做呢答案如下。# 不换行输出 print(Hello,end) print(world,end)在上述代码中“ end ”中两个单引号中间无内容也不是空格哦利用这样的方式就可以得到不换行的print输出语句了。制表符\t在Python的字符串中有一个特殊的符号“\t”效果等同于键盘上的tab键它的作用是让多行字符串进行对齐下面举两个例子希望方便大家理解。① 例子1不可对齐# 不可对齐 print(Hello World) print(Love you)② 例子2\t可以对齐这里的代码在PyCharm中运行的是可以对齐的但是在我试验运行时没有运行正确友友们有知道是怎么回事吗为了更好地展示结果大家可以在PyCharm或者其他工具上运行下试试看。# 对齐(制表符) print(Hello\tworld) print(Love\tyou)这里提供一个老师出的题目大家可以先不看下面的代码试着看看能不能自己敲出来。题目打印出九九乘法表。温馨提示可以利用while循环打印的时候注意换行哦。我第一次写的时候并没有写出来最后的结果是一行内容并没有呈现一行一行的内容所以即使没有写出来也没有关系的哦只要我们慢慢积累和练习一定能写出来的。题目答案如下# 定义外层循环的控制变量 i1 while i9: # 定义内层循环的控制变量 j1 while ji: # 内层循环的print语句不换行通过\t制表符进行对齐 print(f{j}*{i}{j*i}\t,end) jj1 ii1 print() # print空内容就是输出一个换行大家都写对了吗一次就能写对的可以给自己点个赞哦很厉害没有写出来的友友也不要气馁呀可以认真地看看哪里没有写出来可以积累一下以后再遇到的时候能想到用起来就好啦for循环语句for循环除了while循环在Python中还有for循环语句二者能够完成的功能差不多都需要注意空格缩进但是也有一些区别。while循环和for循环的区别① while循环的循环条件是自定义的可以自行控制循环的条件而for循环是无法定义循环条件的只能从被处理的数据集中依次取出内容进行处理。这里可能会有点难理解友友们可以看下面有一个例子希望方便理解哦② for循环是一种“轮询”机制是对一批内容进行“逐个处理”。这里给大家提供两幅图希望能够帮助大家理解哦在Python中程序中的for循环的格式大致为for 临时变量 in 待处理的数据集:循环满足条件时要执行的代码下面举一个例子希望帮助大家更好地理解nameyueliang for x in name: # 将name的内容挨个取出赋予x临时变量 # 就可以在循环体内对x进行处理 print(x)正如上述代码所示for循环是将字符串的内容依次取出因此for循环也被遍历循环。由于for循环是无法定义循环条件的因此从理论上讲Python的for循环无法形成无限循环即被处理的数据集不能是无限大的。for循环中常用的range语句range语句的功能是获得一个数字序列。那么为什么要在循环这一章节提到range语句呢因为for循环语句在本质上就是遍历序列类型而通过range语句可以获得一个简单的数字序列因此将range语句放在这里分享。range语句主要有3种语法① 语法一range(num)作用是获取一个从0开始到num结束的数字序列不含num本身。例如range(5)获得的数据是[0,1,2,3,4]代码如下。# range语法一 range(num) for x in range(5): print(x)② 语法二range(num1,num2)作用是获取一个从num1开始到num2结束的序列不含num2本身。例如range(5,10)获得的数据是[5,6,7,8,9]请注意括号里面的逗号是英文的代码如下。# range语法二 range(num1num2) for x in range(5,10): # 从5开始到10结束不包含10本身的一个数字序列 print(x)③ 语法三range(num1,num2,step)作用是获取一个从num1开始到num2结束的序列不含num2本身数字之间的步长以step处的值决定step默认为1。例如range(5,10,2)获得的数据是[5,7,9]请注意括号里面的逗号是英文的代码如下。# range语法三 range(num1num2,step) for x in range(5,10,2): # 从5开始到10结束不包含10本身的一个数字序列数字之间的间隔是2 print(x)range语句的用途较多多用于for循环场景中。请思考一个问题下面代码最后一行的print语句是否能够访问到变量i?for i in range(5):print(i)print(i)从规范的角度上是不允许的然而实际上是可以的。为了方便大家看大家可以直接运行下面的代码。可以发现下面的print能够打印出最后的变量i。for i in range(5): print(i) print(i)这里就要提到for循环的变量作用域了请看下面的内容。for循环的变量作用域for 临时变量 in 待处理的数据集:循环满足条件时要执行的代码在Python中临时变量的作用范围仅限于for循环内部然而如果在for循环外部访问临时变量实际上是可以访问到的上面的例子就是证明但是从规范的角度考虑不建议大家这么做。如果需要访问临时变量可以先在循环外定义好该变量。上面的代码是我在PyCharm中截取到的代码可以发现在第一个代码块中由于没有事先在循环外部定义变量i但却在循环外调用了变量i导致了警告有波浪号~对于第二个代码块由于事先已经在循环外定义了变量i因此在循环外调用变量i时并没有警告。for循环的嵌套for循环的嵌套的代码框架大致为for 临时变量 in 待处理的数据集序列:循环满足条件时要执行的代码块for 临时变量 in 待处理的数据集序列:循环满足条件时要执行的代码块······下面举一个例子希望帮助大家更好地理解# 坚持表白20天每天都送10朵花 # range i1 for i in range(1,21): print(f今天是向小美表白的第{i}天加油坚持。) # 写内层循环 for j in range(1,11): print(f给小美送的第{j}朵玫瑰花) print(小美我喜欢你) print(f第{i}天表白成功)我们学习了两个循环语句即while循环和for循环这两个循环语句是可以相互嵌套的哦详细可见下面的代码。# 坚持表白20天每天都送10朵花 # range i1 while i20: print(f今天是向小美表白的第{i}天加油坚持。) # 写内层循环 for j in range(1,11): print(f给小美送的第{j}朵玫瑰花) print(小美我喜欢你) i1 print(f第{i-1}天表白成功)continuecontinue的用途主要有以下两个① 中断本次循环直接进入下一次循环② 用于for循环和while循环时它的效果是相同的。for i in range(1,100):语句1continue语句2在上述代码中循环内部遇到continue就会中断本次循环进行下一次因此这时语句2时不会执行的。continue也可以嵌套使用但是不能控制上层的循环。主要应用在循环中因为一些原因需要临时结束本次循环的场景。下面展示下continue及其嵌套的相关代码希望能够帮助大家理解# 演示循环中断语句continue for i in range(1,6): print(语句1) continue print(语句2) # 是不执行的 print(-------------) # 为了大家更好地观察运行后的结果而进行切分 # 演示continue的嵌套应用 for i in range(1,6): print(语句1) for j in range(1,6): print(语句2) continue print(语句3) #是不执行的 print(语句4)breakbreak的用途主要有以下两个① 直接结束循环② 用于for循环和while循环时它的效果是相同的。for i in range(1,100):语句1break语句2语句3在上述代码中在循环内部遇到break就会结束循环因此执行了语句1后不会在执行语句2而是执行语句3。在break的嵌套中for i in range(1,100):语句1for j in range(1,100):语句2break语句3语句4break关键字只能控制它所在的循环的结束根据空格缩进可以看出循环的层次break不能控制上层for循环的结束。下面展示下continue及其嵌套的相关代码希望能够帮助大家理解# 演示循环中断语句break for i in range(1,11): print(语句1) break print(语句2) # 是不执行的 print(语句3) print(-------------) # 演示break的嵌套应用 for i in range(1,6): print(语句1) for j in range(1,6): print(语句2) break print(语句3) # 是不执行的 print(语句4)习题练习题目# 某公司账户余额有10000元给20名员工发工资 # 员工编号从1到20从编号1开始依次领取工资每人可领取1000元 # 领工资时财务判断员工的绩效分1-10随机生成如果低于5不发工资换下一位 # 如果工资发完了结束发工资。 # 请根据上述要求写出程序该题目来源于黑马程序员老师讲的真的很好详细链接如下https://www.bilibili.com/video/BV1qW4y1a7fU?t1.4p50题目答案# 定义账户余额变量 money10000 # for循环对员工发放工资 for i in range(1, 21): import random score random.randint(1, 10) if score 5: print(f员工{i}绩效分{score}低于5不发工资下一位。) # continue跳过工资发放 continue if money1000: money money - 1000 print(f向员工{i}发放工资1000元账余额还剩余{money}元。) else: print(f余额不足当前余额{money}不足以发工资不发了下个月再来) # break结束发放 break以上是自己学习过程中总结和练习的内容如有错误请谅解定会修改哈希望能够帮助小伙伴哦参考黑马程序员如有侵权定会删除~谢谢观看啦下一章节将会更新有关函数的内容感兴趣的友友可以继续看哦~