IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 零基础Python完全自学教程12:Python中的循环语句 -> 正文阅读

[Python知识库]零基础Python完全自学教程12:Python中的循环语句

欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础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中的循环语句

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 12:47:35  更:2021-10-27 12:48:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:58:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码