Python 循环结构详解

 更新时间:2022年02月17日 10:34:02   作者:史迪崽儿  
这篇文章主要介绍了Python 循环结构,程序的循环结构逻辑,循环就是按照一定的条件重复的去做一件事情,当条件不成立时就结束循环的内容,需要的小伙伴一起和小编一起进入下面文章学习吧

前言:

在编写代码时如果能够简化一个程序,把重复的代码形成公共部分,利用语法来控制,对代码进行循环往复的执行,这就形成了循环结构逻辑。

一、While循环

While循环的语法格式如下:

while 条件表达式 :
    代码段(包含改变计数器值的语句)

while 关键词后面紧跟的条件表达式决定了循环是够进行下去。

下面用while语句实现求1~100的累加和,代码如下:

count = 1        #计数器
sum0 = 0        #统计和值,初始值为0
while count <= 100 :
    sum0 += count
    count += 1
print(sum0)

运行结果如下:

While循环的语法要点需要做的就是以下三件事:

  • 1、定义计数器的初始值,这个计数器可以计数,也可以用作求解问题的数字处理。
  • 2、While循环条件保证计数器在一定条件下退出循环。
  • 3、循环做的事情放在循环体里,同是不要忘记计数器的叠加效果。

二、While…else…循环

While…else…的语法格式如下:

while 条件表达式 :
    代码块1
    改变计数器的值
else :
    代码块2

这个格式比原来基本的while格式读了一个else语句,器质性流程也多了一步流程,即当while循环体正常执行完后执行else代码块中的内容。

下面用while语句实现银行卡吞卡验证,代码如下:

count = 1
password = input("输入密码:")
while count < 3 :
    if password == "000000" :
        print("密码正确,您可以取款了")
        break
    else :
        input("密码错误,请再一次输入密码:")
    count += 1
else: print("密码错误,卡被吞")

运行结果如下:

break用来推出循环体,不再执行本层循环。

三、for循环

while循环和for循环用于处理不同的问题,while应用在不知道循环次数的情况下,for应用在确定循环次数的情况下。

for循环语句的格式如下:

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

执行过程就是将每一个可迭代对象中的每一个元素复制给临时变量,再执行循环体。当可迭代对象中的元素全部遍历完后for循环就停止运行。

如用for循环求1~100的累加和,代码如下:

sum0 = 0
for count in range(1,101,1) :
    sum0 += count
print(sum0)

以上代码看上去比while循环简单一些,所以变成习惯上使用for循环。

注意: Python的区间左边可以等于,右边一定不等于,即左闭右开。

range函数可以接受3个参数,range(start,stop,step)产生一个从start开始到stop结束的一个整数序列,step是步长。

四、for…else…循环

While…else…的语法格式如下:

for 临时变量 in 可迭代对象 :
    循环体
else :
    代码块2

当for循环体正常执行完后执行else代码块中的内容,否则不会执行else中的代码。

如上述银行卡吞卡使用for循环就会这样写:

password = input("输入密码:")
for i in range(1,3,1) :
    if password == "000000" :
        print("密码正确,您可以取款了")
        break
    else :
        input("密码错误,请再一次输入密码:")
else: print("密码错误,卡被吞")

运行结果如下:

五、循环体结束语句

Python的循环逻辑控制是依靠for和while这两种语句来实现的。但是,有时不需要把循环执行完,条件合适时需要直接退出循环,这时可以使用break语句。还有一种需求,不需要退出整个循环,而是退出本次循环,可以使用continue语句。这两个语句的区别如下:

  • 1、break用于完全结束一个循环,跳出循环体之行循环后面的语句。
  • 2、continue只是终止本次循环,接着还之行后面的循环。

下面经过具体实例来了解break和continue的使用:

  • 循环打印奇数

如果判断是偶数,进入下一次循环,如果判断是奇数,直接打印。

for i in range(1,11) :
    if i%2==0 :
        continue
    print(i)

运行如下:

  • 循环打印闰年

循环找出2020-2051年中的第一个闰年。

for year in range(2020,2051) :
    if year%4==0 and year%100!=0 or year%400==0 :
        print(year)
        break

运行如下:

六、嵌套循环

以打印九九乘法表为例:

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    

分析以上九九乘法表的思路,从输出格式中可以看到数字是从1乘1一直到9乘9,要形成1到9两个数交叉相乘的效果,就必须依靠循环嵌套

代码如下:

for i in range(1,10) :
    for j in range(1,10) :
        print("%d*%d=%d"%(i,j,i*j))

运行结果如下:

可以看出以上代码打印的是竖向的乘法表,原因是目前的结束符是换行,修改结束符即可。现在把结束符换成“/t”制表符。

修改后的代码如下:

for i in range(1,10) :
    for j in range(1,10) :
        print("%d*%d=%d"%(i,j,i*j),end="\t")
    print()

运行结果如下:

此时每一行的的第一个字符相等,与结果的每一列字符相等,所以输出可以将i和j互换。并且,应该是第一行只留11,第二行只留12,2*2,以此类推才能实现要求的乘法表。具体方法是当外层循环比内层循环数字小时,退出本层循环。

最终代码如下:

for j in range(1,10) :
    for i in range(1,10) :
        if i > j :
            continue
        print("%d * %d = %d"%(i,j,i*j),end="\t")
    print()

运行结果如下:

到此这篇关于Python 循环结构详解的文章就介绍到这了,更多相关Python 循环结构内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python如何省略括号方法详解

    Python如何省略括号方法详解

    这篇文章主要介绍了Python如何省略括号方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • keras获得某一层或者某层权重的输出实例

    keras获得某一层或者某层权重的输出实例

    今天小编就为大家分享一篇keras获得某一层或者某层权重的输出实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python之模拟鼠标键盘动作具体实现

    python之模拟鼠标键盘动作具体实现

    这篇文章主要介绍了python之模拟鼠标键盘动作具体实现,有需要的朋友可以参考一下
    2013-12-12
  • Python封装adb命令的操作详解

    Python封装adb命令的操作详解

    在日常的 Android 项目开发中,我们通常会使用 adb 命令来获取连接设备的内存、屏幕、CPU等信息,这些信息的获取,每次都在command 中输入相关命令进行重复的操作让人感到厌倦和疲乏,现在,可以尝试使用 python 来简化这一部分工作,所以本文介绍了Python封装adb命令的操作
    2024-01-01
  • python实现精准搜索并提取网页核心内容

    python实现精准搜索并提取网页核心内容

    这篇文章主要为大家介绍了python实现精准搜索并提取网页核心内容的实现,有需要的的朋友可以借鉴参考下,希望能有所帮助祝大家多多进步
    2021-11-11
  • python实现获取Ip归属地等信息

    python实现获取Ip归属地等信息

    本文给大家简单介绍了下如何使用Python实现获取IP归属地信息的方法和代码,非常的实用,有需要的小伙伴可以参考下
    2016-08-08
  • python操作oracle的完整教程分享

    python操作oracle的完整教程分享

    下面小编就为大家分享一篇python操作oracle的完整教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧,祝大家游戏愉快哦
    2018-01-01
  • Python爬虫动态IP代理使用及防止被封的方法

    Python爬虫动态IP代理使用及防止被封的方法

    在进行网络爬虫时,经常会遇到网站的反爬机制,其中之一就是通过IP封禁来限制爬虫的访问,为了规避这种限制,使用动态IP代理是一种有效的方法,本文将介绍在Python爬虫中如何使用动态IP代理,以及一些防止被封的方法,文中有详细的代码讲解,需要的朋友可以参考下
    2023-11-11
  • 3分钟学会一个Python小技巧

    3分钟学会一个Python小技巧

    Python时间日期转换在开发中是非常高频的一个操作,你经常会遇到需要将字符串转换成 datetime 或者是反过来将 datetime 转换成字符串,今天小编给大家带来了一个Python小技巧,感兴趣的朋友一起看看吧
    2018-11-11
  • 探索Python进度条魔法解密任务进展新玩法

    探索Python进度条魔法解密任务进展新玩法

    在日常编程和应用开发中,展示进度条是一种常见的技巧,不仅能够提供用户友好的体验,还可以显示任务执行的进度,Python作为一种多才多艺的编程语言,提供了多种方法来创建进度条,本篇文章将深入探讨这些方法,为您呈现各种实现进度条的技术和技巧
    2024-01-01

最新评论