快捷搜索:  汽车  科技

python循环教程(零基础Python完全自学教程12)

python循环教程(零基础Python完全自学教程12)12.1、Python中的while循环接下来就详细讲讲这两种类型的循环。在Python中,循环主要有以下两种类型:1、一直重复,直到条件 不满足时才结束的循环,称为条件循环。只要条件为真,这种循环就会一直持续下去。如while循环。(while中文意思是:虽然;在…期间;当…的时候;与…同时;)2、重复一定次数的循环,称为计次循环,如for循环。(for中文意思是:对于;为了;给,对,供;以帮助;关于)

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

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

python循环教程(零基础Python完全自学教程12)(1)

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

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

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

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

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

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

12.1、Python中的while循环

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

while 条件表达式 循环体

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

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

python循环教程(零基础Python完全自学教程12)(2)

图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所示:

python循环教程(零基础Python完全自学教程12)(3)

图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中的循环语句

猜您喜欢: