流程控制

阅读: 15808     评论:4

流程控制指的是代码运行逻辑、分支走向、循环控制,是真正体现我们程序执行顺序的操作。流程控制一般分为顺序执行、条件判断和循环控制。这里面体现了一种传统编程中的“因果关系”,也就是有什么样的因就产生什么样的果,有什么输入就会有相应的输出,同一个输入不管执行多少次必然得到同样的输出,所有的都是确定的、可控的。与之相对的则是最近火得一塌糊涂的人工智能,比如机器学习、神经网络和深度学习,这些不再是“因果关系”编程,而是“统计关系”编程,同一个输入每次的执行结果有可能不一样。

扯远了。作为所有编程语言里相似度或者说通用性最大的一部分内容,流程控制对于老手来说是最简单的一章,基本可以忽略的一章。但对于新手来说,却往往成为最困惑的一章。为什么会这样?因为很多新手还没有养成编程语言的逻辑思维,对‘因果关系’体会不深,稍微复杂一点的控制逻辑就会大脑混乱一团麻。然后嘛,对于写伪代码或者画流程图这一类对理清逻辑关系非常有帮助的工作,又不愿意做,直接导致整个程序的控制流程混乱,而这一类问题又是老手最不愿意回答的问题,费时费力。

啰嗦了这么多,简单的说一下什么是伪代码:

伪代码

伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是使被描述的算法可以容易地以任何一种编程语言实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 通俗简单地讲,就是用中文把你的程序先写出来,在检查过伪代码没有问题后,再用Python等语言将其真正实现。例如:

输入一个变量age 
将输入字符串转换为数字
(条件判断:)
如果age大于等于18:
    打印“成人”
如果age小于18,又分两种情况:
    如果age大于等于12:
        打印“少年”
    如果age小于12:
        打印“儿童”

上面就是一个简单的伪代码。伪代码没有任何的书写规则,只要逻辑清楚正确,怎么写都由你。将上面的伪代码,实现成真正的Python代码,如下:

age = input("请输入你的年龄:  ")
age = int(age)
if age >= 18:
    print("成年")
else:
    if age >= 12:
        print("少年")
    else:
        print("儿童")

当然,上面的代码有很多问题,比如int转换过程中可能的问题,if、else可以用elif更精简一下。但这些都不是我们现在讨论的重点,我们现在说的是伪代码。

流程图

再简要介绍一下流程图。程序流程图和伪代码在本质上其实是一样的,只不过一个用文字表达一个用图片表达,图片画着费点事,但看着直观,文字书写方便,但不够直观。

在程序流程图绘制过程中,主要使用下图中的图标:

image.png-79.3kB

通过带方向的箭头和相应的说明文字,连接各图标,形成了流程图,例子如下:

image.png-14.7kB

画流程图可以笔纸手画,也可以Word、PPT、Visio等软件中画,还可以在一些网络上免费提供的画图服务中绘制。


 集合set 顺序执行 

评论总数: 4


点击登录后方可评论

《Python编程:从入门到实践》是最适合完全0基础的小白入门的书籍,建议看完语法部分就可以了。 作者的python教程是我见过的最系统、最全面、最适合国内python 学习者的进阶书籍。



同感



网上的教程良莠不齐,因为有严谨的强迫症,下决心编写自己的教程(其实就是自己的笔记),过程确实很痛苦,需要阅读多种教程包括官方tutorial,偶然搜索到这个教程,真的是相见恨晚!有多少溢美之词都不过分啊!这是目前为止看到的最好的最严谨的python教程!谷歌了一下您的大名+python,发现影响力真的是不相配啊!酒香有时候真的怕巷子深!以后如果学有小成,在给后来的新人推荐学习教材时,您的教程是必推的!十分感谢您的分享!!!!!!!!!



同感