零基础Python完全自学教程12:Python中的循环语句

    时间: 浏览:2253次  来源:站长在线 
欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础Python完全自学教程》今天给大家分享的是第12课《Python中的循环语句》。本节课主要内容有:Python中的whi

欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础python完全自学教程》今天给大家分享的是第12课《Python中的循环语句》。本节课主要内容有:Python中的while循环、Python中的for循环、Python中的循环嵌套。

回顾一下上节课的内容:第11课 Python中的选择语句:最简单的if语句、if...else语句、if...elif...else语句、选择语句的嵌套。看起来是不是比较相似呢?一个是选择语句,一个是循环语句。


循环很容易理解,就是周而复始的重复下去,直到条件改变才会终止。比如每天的公交车、地铁等公共交通工具必须不断的往返于始发站和终点站。类似的反复做同一件事的情况称为循环。

循环语句 (Loop statement) 又称重复结构,用于反复执行某一操作。

在Python中,循环主要有以下两种类型:

1、一直重复,直到条件 不满足时才结束的循环,称为条件循环。只要条件为真,这种循环就会一直持续下去。如while循环。(while中文意思是:虽然;在…期间;当…的时候;与…同时;

2、重复一定次数的循环,称为计次循环,如for循环。(for中文意思是:对于;为了;给,对,供;以帮助;关于

接下来就详细讲讲这两种类型的循环。

12.1、Python中的while循环

while循环就是条件循环,是通过一个条件来控制是否要继续反复执行循环体中的语句。其语法格式如下:

while 条件表达式
    循环体

注:循环体是一组被重复执行的语句(代码

当条件表达式的返回值为真时,将执行循环体的语句,执行完毕后,重复判断条件表达式的返回值,直到条件表达式返回的结果为假是,退出循环。while循环语句执行流程图,如图12.1所示:


图12.1 while循环语句执行流程图

实例12.1、继续讲解黄蓉与瑛姑见面的数学题。(while循环版

使用while循环,实现从1开始依次尝试符号条件的数,直到找到符合条件的数才退出循环。

实现方法

实现定义一个用于计数的 变量number (number 是数字的单词)和一个作为循环条件的变量none (none是没有的单词,默认值为真),然后编写while语句,在循环体中,变量number的值加1,并且判断number的值是否符合条件,当符合条件时,将变量none的值设置为假,从而退出循环。具体代码如下:

print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
none = True                                                  # 作为循环条件的变量
number = 0                                                   # 计数的变量
while none:
    number += 1                                               # 计数加1
    if (number%3 ==2) and (number%5 ==3) and (number%7 ==2):  # 判断是否符合条件
        print("答曰:这个数是",number)                        # 输出符合条件的数
        none = False                                          # 将循环条件的变量赋值为否

执行结果:

今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?

答曰:这个数是 23
>>> 

当然,上面我们的计数的变量是0,加1以后是1开始,我们可以设置成24开始,就会得到一个数字是128,执行结果:

今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?

答曰:这个数是 128
>>> 

当然,我们又把起始数字改成129,就会得到233,以此类推;23,128,233,338,443……等有无穷无尽的数字满足条件。所以在代码中最后一行的none = False 一定要加上。否则就会无限循环下去。


12.2、Python中的for循环

for循环是一个计次循环,一般应用于循环次数已知的情况下。通常用于枚举或遍历序列,以及迭代对象中的元素。起语法格式如下:

for 迭代变量 in 对象:
    循环体

其中:

迭代变量用于保存读取的值;

对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串列表、和元组等;

循环体为一组被重复执行的语句。

for循环语句的执行流程图,如图12.2所示:


图12.2、for循环语句执行流程图

12.2.1、进行数值循环

在使用for循环时,最常用的就是数值循环。还记得小学题目“1+2+3+……+100=?”的题目吗?即求1~100的和。在这里可以使用代码实现:

print("计算 1+2+...+100 的结果为:")
result = 0             #保存累加结果的变量
for i in range(101):   #逐个获取从 1 到 100 这些值
    result += i        #做累加操作
print(result)          #实现循环结束是输出结果

运行后的结果为:

计算 1+2+...+100 的结果为:
5050
>>> 

上述代码中,使用了range()函数,该函数是Python中的内置函数,用于生成一系列的连续的整数,主要用于for循环中,起语法格式如下:

range(start,end,step)

参数说明如下:

start:用于指定技术的起始值,可以省略。如果省略则从0开始。

end:用于指定计数的结束值,不能省略。结束值不包括该值,如range(100),则表示值为0~99。当range()函数只有一个参数时,即表示指定计数的结束值。

step:用于指定步长,即两个数之间的间隔,可以省略。如果省略则表示步长为1。如range(1,7)则表示值为1、2、3、4、5、6、

注意:在使用range()函数时:

1、如果只有一个参数,那么表示指定的是end;

2、如果只有两个参数,那么表示指定的是start和end;

3、只有三个参数都存在时,最后一个参数step才表示步长。

例如。使用下列for循环语句,将输出20以内的所有奇数:

for i in range(1,20,2):
    print(i,end = ",")

运行结果如下:

1,3,5,7,9,11,13,15,17,19,
>>> 

在Python中,使用print()函数时,如果想要实现输出的内容在一行上面显示,就需要加上“,end = "分隔符"”,这里是使用,作为分隔符。如果不加则竖排显示,一行显示一个,自己测试效果。

实例12.2、使用for循环解决黄蓉与瑛姑见面的数学题。(for循环版)

使用for循环语句实现1循环到100(不含100),并且记录符合黄蓉要求的数。

具体实现方法:应用for循环语句从1迭代到100,在循环体中,判断迭代变量number 是否符合“三三数之剩二,五五数之剩三,七七数之剩二”的要求,如果符合,则应用print()函数输出,否则继续循环。代码如下:

print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
for number in range(100):
    if (number%3 ==2) and (number%5 ==3) and (number%7 ==2):   # 判断是否符合条件
        print("答曰:这个数是",number)                         # 输出符合条件的数

运行程序,输出结果如下:

今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?

答曰:这个数是 23
>>> 

上面是循环到100的,我们试试循环到1000看看,输出结果为:

今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?

答曰:这个数是 23
答曰:这个数是 128
答曰:这个数是 233
答曰:这个数是 338
答曰:这个数是 443
答曰:这个数是 548
答曰:这个数是 653
答曰:这个数是 758
答曰:这个数是 863
答曰:这个数是 968
>>> 

重新修改一下代码,循环到10000,输出的话,只是输出数字,并且在一行显示,自己修改代码哦!显示如下,那么你就修改对了:(自己动动脑筋,学会根据原有代码,举一反三的改动,站长在线不在公布代码,但是公布结果)

今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?

答曰:在1-10000中,这些数都符合:

23,128,233,338,443,548,653,758,863,968,1073,1178,1283,1388,1493,1598,1703,1808,1913,2018,2123,2228,2333,2438,2543,2648,2753,2858,2963,3068,3173,3278,3383,3488,3593,3698,3803,3908,4013,4118,4223,4328,4433,4538,4643,4748,4853,4958,5063,5168,5273,5378,5483,5588,5693,5798,5903,6008,6113,6218,6323,6428,6533,6638,6743,6848,6953,7058,7163,7268,7373,7478,7583,7688,7793,7898,8003,8108,8213,8318,8423,8528,8633,8738,8843,8948,9053,9158,9263,9368,9473,9578,9683,9788,9893,9998,
>>> 

12.2.2、遍历字符串

使用for循环语句除了可以循环数值,还可以遍历字符串,列如:下面代码将横向显示的字符串转换为纵向显示:

string = "建一个网站,创一番事业"
print(string)     #横向显示
for ch in string:
    print(ch)      #纵向显示

执行代码如下:

建一个网站,创一番事业
建
一
个
网
站
,
创
一
番
事
业
>>> 


12.3、Python中的循环嵌套

我们在上一节课中,讲到了《选择语句的嵌套。同样的,循环语句是也是可以嵌套的。

在Python中,允许在一个循环体中嵌入另一个循环体中,这称为循环嵌套。while循环和for循环都可以相互嵌套。

12.3.1、在while中套用while:

while 条件表达式1:
    while 条件表达式2:
        循环体2
    循环体1

12.3.2、在for中套用for:

for 迭代变量1 in 对象1:
    for 迭代变量2 in 对象2:
        循环体2
    循环体1

12.3.3、在while中套用for:

while 条件表达式:
    for 迭代变量 in 对象:
        循环体2
    循环体1

12.3.4、在for中套用while:

for 迭代变量 in 对象:
    while 条件表达式:
        循环体2
    循环体1

除了上面的4种嵌套,还可以多层次嵌套,原理是一样的,这里不在一一写出了。

实例12.3、输出九九乘法表

先来一个简单的,使用while循环,输出类似九九乘法表的小星星。

i = 1               #起始值为1
while i <=9:        #输出最多9行
    print(" * "*i)  #输出*的i倍数
    i += 1          #计数+1

执行结果如下:

 * 
 *  * 
 *  *  * 
 *  *  *  * 
 *  *  *  *  * 
 *  *  *  *  *  * 
 *  *  *  *  *  *  * 
 *  *  *  *  *  *  *  * 
 *  *  *  *  *  *  *  *  * 
>>> 

使用嵌套的for循环,输出九九乘法表,代码如下:

for i in range(1,10): 		# 输出9行
    for j in range(1, i + 1):  	# 输出与行数相等的列
        print(str(j) + "×" + str(i) + "=" + str(i * j) + "\t",end = '')
    print('')	                # 换行

上述代码使用了双层的for循环,第一个for代表输出9行,同时也是乘数;第二个for循环控制乘法表的列数,最大值等于行数。

运行结果如下:

1×1=1	
1×2=2	2×2=4	
1×3=3	2×3=6	3×3=9	
1×4=4	2×4=8	3×4=12	4×4=16	
1×5=5	2×5=10	3×5=15	4×5=20	5×5=25	
1×6=6	2×6=12	3×6=18	4×6=24	5×6=30	6×6=36	
1×7=7	2×7=14	3×7=21	4×7=28	5×7=35	6×7=42	7×7=49	
1×8=8	2×8=16	3×8=24	4×8=32	5×8=40	6×8=48	7×8=56	8×8=64	
1×9=9	2×9=18	3×9=27	4×9=36	5×9=45	6×9=54	7×9=63	8×9=72	9×9=81	
>>> 

使用嵌套for循环,输出九九乘法表。

到此为止,今日的《Python中的循环语句》讲解的Python中的while循环、Python中的for循环、Python中的循环嵌套都讲解完毕,课程里面的代码自己去执行了。没有时间的复制代码执行一次,有时间的,亲自把代码敲出来进行练习。明白其中的意思,最好举一反三,自己做实例。

下节预告:零基础Python完全自学教程13:Python中的break语句continue语句pass语句

相关阅读:

《零基础Python完全自学教程》目录 

1、认识python

2、安装python及写第一个Python程序

3、Python开发工具介绍

4、Python语法特点

5、Python中的变量

6、Python中的基本数据类型

7、Python中的基本输入和输出

8、Python中常用的运算符

9、Python中运算符的优先级和条件表达式

10、Python中的三大程序结构

11、Python中的选择语句

12、Python中的循环语句


文末福利:

1、关注站长在线官方公众号站长在线微信号:olzzcom ,文末也有公众号二维码,关注公众号以后回复python,本站精心整理的Python书籍、软件、工具都实时更新哦!本站所安装的python3.10、 IDLE中文版 、PyCharmVisual Studio CodeSublime Text4等都在里面哦!

2、站长在线官方微信交流群已经开通了,微信扫码进入,一起交流,一起进步!



本文地址:https://www.olzz.com/pythonxhyj.html
码字不易,打个赏呗
杨泽业感谢你的支持!

猜你喜欢

域名pythonw.cn出售

域名pythonw.cn的详细信息:Python网

2022-08-06  分类:域名出售  浏览:1431次


站长在线Python教程:Python中类定义详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中类定义详解》。

2022-02-23  分类:Python学堂  浏览:2001次


站长在线Python教程:python中面向对象相关概述详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《python中面向对象相关概述详解》。本文的主要内容有:面向对象是什么、面向对象中的对象是什么、Python中的类是什么、面向对象编程的特点有哪些?

2022-02-14  分类:Python学堂  浏览:1697次


站长在线零基础Python完全自学教程23:函数的返回值、作用域和匿名函数

导读:欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第23课《函数的返回值、作用域和匿名函数》。本文是一个大课程分成了下面4节小课程:Python中函数的返回值、Python函数中的局部变量、Python函数中的全局变量、Python函数中的匿名函数等内容。

2022-02-09  分类:Python学堂  浏览:1564次


站长在线Python教程:Python函数中的匿名函数详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python函数中的匿名函数详解》。本文的主要内容有:匿名函数的定义、匿名函数的表达式、匿名函数的注意点、匿名函数的优点、匿名函数的应用举例。

2022-02-01  分类:Python学堂  浏览:1687次


站长在线Python教程精讲:在Python函数中的全局变量详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中的全局变量详解》。本文的主要内容有:什么是全局变量、在函数外部定义的变量是全局变量、在函数内部定义中添加global关键词后变成全局变量。

2022-01-10  分类:Python学堂  浏览:1796次


站长在线Python教程精讲:在Python函数中的局部变量详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python函数中的局部变量详解》。本文的主要内容有:变量的作用域的概念、局部变量的概念、局部变量的举例。

2022-01-06  分类:Python学堂  浏览:1705次


Python常用英语及用法

站长在线站长,准备系统的学习Python知识,但是对我来说,英语实在是太差了,当然我知道的是,不仅仅我,很多人在学习Python的时候,也是不知道这些英语单词的意思与用法的,在这里站长在线站长就把这些英语整理出来,把英语以及中文意思、用法一起贴出来,让大家一起来学习。

2022-01-02  分类:Python学堂  浏览:1913次


站长在线Python精讲:Python中函数的返回值

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中函数的返回值》。本文的主要内容有:函数的返回值的含义、函数设置返回值的作用、return语句位置与多条 return语句的总结。

2021-12-29  分类:Python学堂  浏览:1874次


站长在线零基础Python完全自学教程22:在Python中函数的参数传递

欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第22课《在Python中函数的参数传递》。本文是一个大课程分成了下面5节小课程:在Python函数中理解形式参数和实际参数、在Python函数中参数传递的位置参数详解、在Python函数中的关键字参数详解、在Python函数中的默认参数详解、在Python函数中的可变参数详解。

2021-12-26  分类:Python学堂  浏览:1660次