计算机程序可以看做是一条一条顺序执行的代码,顺序结构是程序的基础,但是单一的顺序结构是无法解决所有的问题,因此需要引入控制结构来更改程序的执行顺序以满足多样的功能需求。

程序有三种基本结构组成:顺序结构,分支结构和循环结构。而分支与循环结构主要是通过条件判断(if),条件循环(while)和迭代循环(for)来实现。

条件判断(if - elif - else):

条件判断是一种分支结构,分支结构是程序根据条件判断的结果选择不同向前执行的路径的一种运行方式分支结构主要包括单分支和而分支结构,二分之结构组合形成多分支结构。

在python中,通过 if 语句实现分支功能,具体语法

if     判断语句1:    执行语句1elif  判断语句2:执行语句2…else:    执行语句

代码的书写如下

上述是一个简单的多分支结构,至于实际情况下具体使用哪种结构需要自行确定。

条件循环(while - break):

循环结构是根据条件判断的结果向后反复执行的一种运行方式,主要包括条件循环和迭代循环。

条件循环

迭代循环

在python中,条件循环主要通过关键字 while 实现, 具体语法

while 《》

代码的书写如下:

迭代循环(for):

迭代循环又称遍历循环,是指在给定的遍历结构中逐一提取元素,放在循环变量中的,因此与条件循环不同,迭代循环的循环次数在循环开始前就是已知的。具体语法:

for  i  in   循环体:循环语句这里的循环体可以是列表,元组,字符串,字典和range函数等

具体格式如下:

这里说明一下,在迭代循环中,循环变量是自己定义可以是任何值,在每次循环中,循环变量会变成本次循环中从循环体中提取的值,例如第一次循环,i变成了从li中提取的第一个元素1,所以a=0+1也就是1,后面循环皆是如此。

当然,这仅仅是对控制结构最为基础的介绍,下面会深入介绍一些内容,当然这里的深入依旧是浅尝辄止,如果你有兴趣,可以自己深入研究。

首先,无论是条件判断还是条件循环,它们都是要对给出条件进行判断,换而言之if和while判断的最终目的是判断True与False,也就是布尔值,当判断为True则执行后续代码,反之则不执行。当我们了解这个机制后,新手就会对许多代码恍然大悟,因为在python中布尔值不仅仅只出现在比较运算中,还出现在特定的条件下。最为简单的便是直接给条件定义布尔值,例如 条件循环中,while True,如果在没有其他条件的约束下,这个循环将会一直进行下去,也就是我们常说的死循环。因为while在最终得到的结果是布尔值True。还有在python中1默认为True,0默认为False;有值默认为True,无值默认为False。了解了这些,对于新手看代码会有巨大的帮助。

其次,在这三种语句中不是只有if条件判断才可以使用else语句,而是三种语句都可以使用,不同之处在于if条件判断的else执行是在所有判断结果均为False的情况下进行的,而while和for循环的else则是在循环结束后执行一次,换而言之,循环语句中的else是一定会执行的且只执行一次。

最后,对于循环结构来说,它们还有两个保留字,即break和continue,这是非常重要的内容。

break用来跳出最内层的for 和while循环,使其结束循环语句,执行循环代码后的内容。

continue是用来结束当前循环,进入循环语句的下一次循环。

这两个关键字通常与条件判断一起使用,目的是为了增强代码的灵活性。

例如在迭代循环中(for循环),每次循环我们会从循环结构中取出一个元素,但是其中有些元素我们不希望取到,这时候我们便可以采用continue进行处理。

同样,如果我们希望在特定的条件下结束所有循环,也就是或除了本次循环,在本次循环之后的所有循环全部不执行,那么便可以采用break进行处理。

以上便是我个人对于控制结构的一些理解,下一章我会介绍一下第三方库的使用,这也是这一系列文章的最后一篇,最近在学习django和爬虫,之后还要准备法考,所以以后可能其他一些python进阶的内容就不会写了。不过如果你有一些python方面的问题,欢迎大家和我一起交流。

点击了解跟多,获取跟多内容。

python while true_小疯谈python(十):程序的控制结构相关推荐

  1. python将数值进行关联_小疯谈python:(三)数据类型之数值类型

    在上一篇文章中,我简单介绍了python中的语法元素,通过了解基本的数据元素,我们可以阅读一些简单的python代码,但是这还远远不够,要想了解复杂的代码,我们还要深入学习.今天,我将开始为各位小伙伴 ...

  2. 序列包含一个以上的元素_小疯谈python:(五)数据类型之序列类型(中)

    上一篇文章中,我介绍了对序列类型的通用操作,也就是对列表.元组.字符串这三种数据类型在都可以使用的方法.但是对于这三种数据类型的差异化操作我并没有介绍,因此在这篇文章,我将介绍列标表和元组的一些特有的 ...

  3. python float 精度_浅谈Python里面小数点精度的控制

    要求较小的精度 round()内置方法 这个是使用最多的,刚看了round()的使用解释,也不是很容易懂.round()不是简单的四舍五入的处理方式. For the built-in types s ...

  4. python变量标识符_简谈-Python的注释、变量类型、标识符及关键字

    在Python程序中,要想支持中文输出,则要在代码前面添加 标识符:开发人员在程序中自定义的一些符号和名称 标示符是自己定义的,如变量名 .函数名等 标识符的规则: 标示符由字目.下划线和数字组成,且 ...

  5. python数字类型floatcomplexint_浅谈python 四种数值类型(int,long,float,complex)

    Python支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下. 数字数据 ...

  6. 小象python培训班_小象最新Python机器学习升级版视频学习教程 共24节精品课

    小象最新Python机器学习升级版视频学习教程 共24节精品课 本课程特点是从数学层面推导最经典的机器学习算法,以及每种算法的示例和代码实现(Python).如何做算法的参数调试.以实际应用案例分析各 ...

  7. python表格对齐_浅谈python str.format与制表符\t关于中文对齐的细节问题

    写了一个练手的爬虫...在输出的时候出现了让人很不愉♂悦的问题 像这样: 令人十分难受啊! #------------------------------------------ 在此之前先说一下py ...

  8. python未定义_浅谈Python程序的错误:变量未定义

    Python程序的错误种类 Python程序的错误分两种.一种是语法错误(syntax error).这种错误是语句的书写不符合Python语言的语法规定.第二种是逻辑错误(logic error). ...

  9. python hasattr函数_浅谈python中的getattr函数 hasattr函数

    hasattr(object, name) 作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的). 示例: & ...

  10. python制表符对齐_浅谈python str.format与制表符\t关于中文对齐的细节问题

    写了一个练手的爬虫...在输出的时候出现了让人很不愉♂悦的问题 像这样: 令人十分难受啊! #------------------------------------------ 在此之前先说一下py ...

最新文章

  1. 手机时间插件 支持分钟多选_手机时间慢十几分钟,我穿越了吗?
  2. 浅谈Laravel中的设计模式(四) Contract 契约模式
  3. java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
  4. C#LeetCode刷题之#520-检测大写字母(Detect Capital)
  5. mds算法python函数_分享python mds,sha256加密算法,c#对应sha256加密算法
  6. flask-Blueprint
  7. 关于Session过期和失效
  8. 台达内部速度指令_【2017年整理】台达B2伺服电机参数设定.doc
  9. win10 计算机显示英文,电脑win10系统改了中文之后为何显示还是英文?
  10. 一起学 Unix 环境高级编程 (APUE) 之 信号
  11. Java 编写一个类Letter,要求该类创建对象p,并调用方法printLetter输出英文字母表。
  12. 国内几个使用Ruby开发的网站
  13. 移动通信核心网技术总结(四)IMS的网络架构和功能
  14. 第一届全国区块链和分布式记账技术标准化技术委员会 委员名单
  15. 电脑断电后,突然无线有线网卡无法使用
  16. 杭电多校-Loop-(不确定性贪心+线段树)
  17. Python 中的多进程(进程之间的通信)
  18. OPenCV4-颜色识别(一)调色板和简单的颜色识别
  19. Android 开发简单记事本程序(附源码)
  20. Flutter syncfusion_flutter_charts 折线图使用心得

热门文章

  1. 同步手绘板——关于/dev/graphics/fb0权限的获取
  2. linux下挂载移动硬盘(ntfs格式)
  3. [python]有关Python的import...和from...import...的区别
  4. android动态加载assets,从android_assets文件夹动态加载dll
  5. python中换行的转义字符_Python语言中表示换行的转义字符是____________。(2.5分)_学小易找答案...
  6. python远程文件管理系统_如何在Windows上使用Python访问远程文件系统?
  7. [转]:vue-cli3.0配置详解
  8. 1018. Binary Prefix Divisible By 5可被 5 整除的二进制前缀
  9. Wyn Enterprise 核心功能:易用至极的自助式BI和数据分析工具
  10. bzoj千题计划176:bzoj1199: [HNOI2005]汤姆的游戏