首页 > 编程语言 >【python学习记录篇】08.for、while、break、continue,在python里的使用比在英语阅读理解里容易多了

【python学习记录篇】08.for、while、break、continue,在python里的使用比在英语阅读理解里容易多了

时间:2024-10-23 13:17:57浏览次数:8  
标签:num python 08 break 帅哥 range 循环 print total

小白学习纪实,跨专业学python的第八天~

睡了一觉起来觉得自己又行了~

     8.1循环

        很多情况下,我们会比较讨厌重复着做着相同的事情,因为这样枯燥乏味。很直接的,在我们睡不着失眠的时候,我们会选择重复数绵羊加速我们睡眠。对于程序员来讲同样不喜欢重复地做事情,毕竟 “不会偷懒的程序员,不是好程序员” 这个 “ 偷懒 ” 并不是说不做事,而是想办法让事情变得更加有效率。 好在在很多编程语言里都有一种叫做for 循环的东西,它可以自动的重复其他的程序语句和语句块代码等。         Python 中的循环,主要有两个,一个是 for 循环,一个是 while 循环。

    8.1.1 使用for循环

        在 Python 中,要打印 5 次 “ 我是大帅哥 ” ,你可以这样做:
# 打印5次我是大帅哥
print("我是大帅哥")
print("我是大帅哥")
print("我是大帅哥")
print("我是大帅哥")
print("我是大帅哥"

执行结果:

我是大帅哥
我是大帅哥
我是大帅哥
我是大帅哥
我是大帅哥
         但是这样太啰嗦了,而且现在只是需要打印 5 次,如果需要打印 100 次呢?这个代码写 100 遍,估计写到一半就给自己催眠了。这个时候我们可以使用 for  循环,我们来看下面代码
# 使用for循环,打印5次我是大帅哥

for x in range(5):
    print("第%d次,我是大帅哥" % x)

# 打印完毕之后,x的值会自己增加1,直到为5,不满足条件了就不会再执行循环了

运行效果:

第0次,我是大帅哥
第1次,我是大帅哥
第2次,我是大帅哥
第3次,我是大帅哥
第4次,我是大帅哥

        上面的for循环执行了5次,第一次运行时,变量 x 被设为0,循环中的print()打印出了“第0次,我是大帅哥”。Python完成 for 循环子句内所有代码的以此迭代之后,执行将回到循环的顶部,for语句让 x 增加1,x 的值从0变为了1。 此时循环中的 print()打印出了“第1次,我是大帅哥”。第二次迭代完毕之后,又回到for循环的顶部,让 x 增加1,x 的值就变为2。这就是为什么range(5) 导致句子5次迭代,x分别被设置为0,1,2,3,4。

        我们来看一个经典的数学运算题,计算0 到 100 的累加的和: 0+1+2+3+...+100 的和,且看下面代码 :
# 存放结果的变量
total = 0
# 编写循环,让num从0 可以一直增到100

for num in range(101): 

# 每循环一次,将num的值累加到结果变量中

    total = total + num

# 输出结果

    print("0到100数字的累加和为:", total)
'''
循环分析:
第一次循环: total=0, num=0 ,total=total+num=0+0 循环结束 num=1
第二次循环:total=0+0 ,num=1 ,total=total+num=0+0+1 循环结束 num=2
第三次循环: total=0+0+1 ,num=2,total=total+num=0+0+1+2 循环结束 num=3
第三次循环:total=0+0+1+2,num=3,total=total+num=0+0+1+2+3 循环结束 num=4
....以此类推
'''

运行效果:

0到100数字的累加和为: 5050

        程序刚开始时,total被设置为0,然后for循环执行了100次total=total+num。当循环完成100次迭 代时,0到100的每个整数都分别给到了num,并累加给了total。循环结束之后,打印出来的total就是累加的和。

8.1.2 while循环

        实际上我们也可以用  while  循环来做  for  循环同样的事情。 for  循环只是更简洁一些,接下来我们看看与 for  循环等价的  while  循环:
# 定义计数器,记录循环次数
i = 0
while i < 5:
# 如果i<5 就执行循环中的打印语句,否则就不执行
print("第%d次,说我爱你" % i)
# 每次执行完print之后,让i增加,使i逐渐接近5
i = i+1
运行结果:
第0次,说我爱你
第1次,说我爱你
第2次,说我爱你
第3次,说我爱你
第4次,说我爱你
        我们发现这个程序的效果和前面使用 for  循环的打印结果相同。但是很明显  while  循环要比  for 循环写法要复杂,for  循环每执行一次循环中的代码,记录循环次数的变量会自动增加 1 。但是 while 循环我们需要手动加1 。

8.1.3 range() 函数详解

        在 python 中很多函数可以添加参数去调用,多个参数之间可以用逗号分开。 range 同样也可以,我们可以在调用range 函数时传入一些参数,让我们的循环更加灵活。在前面我们知道 range(5) 表示从 0 开始,到4 结束,也就是数字在 [0,5) 这个区间。实际上我们可以通过 range(start,end), 来设置数字的起始点,和结束点,比如:
for x in range(5, 10):
print("第%d次,说我爱你" % x)
运行结果:
第5次,说我爱你
第6次,说我爱你
第7次,说我爱你
第8次,说我爱你
第9次,说我爱你
        range ( start , end )第一个参数  start  是  for  循环变量的开始值,第二个参数是上限值,但是不包 含。也就是循环停止的数字是end 。 range  还可以有第三个参数,就是 ” 步长 “ 。在前面  for  循环的变量每次循环结束之后,只增加1 。实际上这个 1 就是我们说的步长。步长是每次循环执行后循环变量增加的值。 比如:
for x in range(5, -1, -1):
print("我还能爱你%d次" % x)
运行结果:
我还能爱你5次
我还能爱你4次
我还能爱你3次
我还能爱你2次
我还能爱你1次
我还能爱你0次
        从运行结果来看, range(5,-1,-1),for 循环的变量从 5 开始,每次减小 1 ,为 0 之后,再减小 1 次到达 -1就结束循环了。

8.1.4 breakcontinue

       有的时候,当循环运行到中途的时候,我们需要停止循环。比如我们在操场上跑步,原定计划跑 10 圈,但是跑到第5 圈的时候。发现体力不支,无法在进行下去了。这个时候我们就需要停止。 Python  中 可以使用 break  来结束循环:
for x in range(1, 11):
print("加油!你已经跑了%d圈了" % x)
if x == 5:
print("我跑不动了")
break
运行效果:
加油!你已经跑了1圈了
加油!你已经跑了2圈了
加油!你已经跑了3圈了
加油!你已经跑了4圈了
加油!你已经跑了5圈了
我跑不动了

        我们可以发现,原本会循环10次的循环,当 x 为5的时候,遇到了 break,最终在这个位置就结束了 循环。因此,在循环中,我们在什么时候需要结束循环,那么我们只需要在这个位置上添加break 即可。

        同样上面跑圈的案例,今天学生接到的锻炼任务是跑10圈,但是这个学生比较圆滑,每跑一圈,偷一圈懒。我们来看看代码是如何实现的:

for x in range(1, 11):
if x % 2 == 0:
print("偷个懒")
continue
print("加油!你已经跑了%d圈了" % x)
运行效果:
加油!你已经跑了1圈了
偷个懒
加油!你已经跑了3圈了
偷个懒
加油!你已经跑了5圈了
偷个懒
加油!你已经跑了7圈了
偷个懒
加油!你已经跑了9圈了
偷个懒
        从上面的结果来看,我们实现了每跑一圈,偷一圈懒的效果。 x %2==0 ,也就是当 x 的值为 2 的倍数的时候,就会偷懒,然后遇到 continue ,而此时下面的打印语句就不会执行。在这 continue 的作用就是结束当前循环,直接执行下一次循环。遇到 continue  之后, continue  下面的代码在本次循环内就不会再执行了。 
注意:         1. break 是结束整个循环。         2. continue 是结束本次循环,开始下一次循环。

8.1.5 总结

        在这一章里,我们用循环来执行了重复的任务,这样就不用做重复地劳动了。我们在循环里面的代码块中告诉 Python  我们希望重复执行什么任务。我们使用了两种循环: for  循环和  while 循 环,他们很相似但使用方法不同,我们还是用了关键字 break 来结束整个循环,以及使用 continue结束当前循环,直接执行下一次循环。 

今天就暂时学到这里吧,明天继续~✌✌✌

标签:num,python,08,break,帅哥,range,循环,print,total
From: https://blog.csdn.net/patty0216/article/details/142952760

相关文章

  • 【python学习记录篇】09.Python函数进阶,上难度了上难度了
    小白学习纪实,跨专业学python的第九天~没想到python也要学函数......真是干的漂亮......    9.1函数    9.1.1函数的意义    在生活中,试想一下我们用手洗衣服的时候,我们需要接水,放入脏衣服,放入洗衣液,然后一件件用手搓,每次洗衣服的时候都要这样干,很......
  • Python脚本,它将遍历指定目录下的所有.srt文件,移除其中的不必要的英文字符、不必要的空
    Python脚本,它将遍历指定目录下的所有.srt文件,移除其中的不必要的英文字符、不必要的空行以及不必要的空格。该脚本会保留字幕索引、字幕时间线以及字幕中的中文内容,并且只保留字幕中的中文内容。它还会保留字幕行与字幕之间的换行符,同时去掉字幕与字幕之间的不必要的换行符。处理......
  • springboot图书销售管理系统-计算机毕业设计源码38008
    摘要JavaEE的图书销售管理系统是一个基于JavaEE技术开发的综合性图书销售和管理平台,旨在帮助图书店管理者提高图书销售效率和管理水平。系统主要功能包括网站公告,图书资讯,图书中心,商城管理,图书信息,个人首页,图书信息,商品中心,订单配送等。图书信息管理模块可以实现图书的添加......
  • Python酷库之旅-第三方库Pandas(162)
    目录一、用法精讲741、pandas.Period.month属性741-1、语法741-2、参数741-3、功能741-4、返回值741-5、说明741-6、用法741-6-1、数据准备741-6-2、代码示例741-6-3、结果输出742、pandas.Period.ordinal属性742-1、语法742-2、参数742-3、功能742-4、返回值......
  • DictProxy和dict的内存大小_python_如何最小的保存dict_20241023
    缘由:在写多进程的时候,进程之间要用到共享变量,Manager,于是发现了一种新的数据类型:multiprocessing.managers.DictProxy简单来说,这种数据类型特点是,只读模式,内存占用的更少,平均减少了四分之一,最高测试可以减少到1/20,配合pickle.dumps来使用,那么存到本地的文件原本可能是......
  • 原创计算机毕业设计—69271 django重大公告卫生事件物资管理系统 (源码免费领)定制程序
    摘要随着信息技术的快速发展,计算机应用已经进入成千上万的家庭。随着物资数量的增加,物资库存管理也存在许多问题。物资数据的处理量正在迅速增加,原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析,减少人力和物力的浪费。需要建立重大公告卫生事件......
  • 原创计算机毕业设计—58671 基于SpringBoot的健康管理系统(源码免费领)小程序、APP、JAV
    摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,健康管理系统被用户普遍使用,为方便用户能够可以随时进行健康管理系统的数据信息管理,特开发了基于springboot的健康管理系......
  • 3.12版本的python调用MATLAB2024b,安装matlab.engine教程
    #3.12版本的python只能使用2024b的matlab的接口。一、各个版本的兼容关系如下,可通过下面链接去官网查询。VersionsofPythonCompatiblewithMATLABProductsbyRelease-MATLAB&Simulink二、安装matlab.engine!可能由于版本比较新的原因,查了很多资料,给出的方法都没......
  • Python 文件路径与文件系统操作
    处理文件的另一个重要方面是文件路径和文件系统操作。Python提供了多个模块用于操作文件系统,其中最常用的是os模块和pathlib模块。掌握这些工具,能够让你在自动化任务中更轻松地管理文件和目录。1文件路径的基本操作在操作文件时,路径是一个至关重要的概念。文件路......
  • Python 学习记录
    前言简单情况:主要记录学习Python的简单情况,包括代码与结果,以及关键注释工具与来源:一下代码与结果都可在JupyterLab上实现,更多情况可看Github使用NumPy可视化数学函数1.可视化f=x1*e(-x12-x22)importnumpyasnpimportmatplotlib.pyplotaspltx1_array=np.linspa......