ad

《Python编程从0到1 视频教学版》_深入Python设计的本质_1.8 程序执行模型

admin 142 2023-10-19

【摘要】 本书摘自《Python编程从0到1 视频教学版》一书中第1章,第8节,作者是张頔。

1.8 程序执行模型

《Python编程从0到1 视频教学版》_深入Python设计的本质_1.8 程序执行模型

在上一节中,本书向读者展示了程序设计的一些具体示例。通过这些示例,读者应当 已经了解到编写代码的初步方法。但这些示例比较初级。这种初级在于,从问题描述本身 出发就容易设计并编写程序。比如埃特金迭代法,虽然其原理涉及较复杂的数学,但从编 程角度来说,只需要按照算法步骤描述,就可轻易写出程序。

本书将向读者展示程序设计的核心思考方法。使用这些方法,可以让工程师在面临具 体的局部问题时能够设计出恰当的程序。本节提出的问题种类分为以下3个层次:

· 无状态程序设计;

· 有状态程序设计;

· 利用顺序存储结构进行程序设计。

这和在本书1.1节中提到的基本模型“图灵机”是相吻合的。图灵机模型的核心思想 正是由状态机配合线性存储器完成各种各样的计算任务。为了突出设计程序的本质方法, 本节的前几个示例将程序设计手段限制于最简单的输入和输出、控制结构,以及简单的字 符和字符串处理方面。

输入和输出、赋值、运算、条件判断、循环和分支、顺序存储结构,学会了这些,就 足以写出解决各种问题的程序。基本上各种程序设计语言都支持这些特性。本节将带领读 者使用这些核心程序设计手段,解决各种程序设计问题。核心能力一旦建立,就会自然得 以推而广之。

【学习目标】

· 掌握使用状态机进行程序设计的方法;

· 了解栈和队列在程序设计中的应用。

1.8.1 手段限制

为了凸显本质,往往要在其他方面作出简化。1.8.1节、1.8.2节和1.8.3节讨论的问题 从形式上来说大多都很简单,尤其是1.8.2节和1.8.3节。不仅如此,起初的几个例子还把 IO 手段限制在单个字符方面。因为唯有这样才能尽早向读者展示本节的核心主题。这就

好比徒手盖房,虽然房子很简陋,但却对一砖一瓦都心中有数。

注意:在初学阶段使用高级工具会阻碍核心能力的建立。

从标准输入流中逐个获得字符并输出的代码片段如下:

fr c is stdirdsti:

print(c,end='')

上述代码中, stdin.read()方法从标准输入流读取全部数据。用 for 循环的循环变量 c 会取遍标准输入流的每个字符。 print()函数将字符输出。这段程序只是简单地将输入复制 到输出,每次一个字符。接下来的例子将根据具体问题的需求在循环里对数据进行处理。

1.8.2 无状态程序

最简单的程序是无状态的,即程序在计算过程中不需要“记住”什么。这类程序只需 根据输入进行分类讨论即可,最常使用的就是if-else结构。在这类问题中使用查找表结构 往往能让代码更简洁。

注意: 在实际问题中,单纯的“不需记忆状态”程序很少。但程序是由很多代码片段组成的,其中很多都具有无状态特性。清晰、高效地处理这部分代码,能大大提高 编码质量。

问题描述: 根据手机中九宫格按键上的字母和数字的对应关系,如图1.43所示,将 输入中的英文字母转换成对应的数字。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《Excel会计信息处理》_会计信息处理的专家指南_4.4.2 内部收益(利)率函数
下一篇:《Excel会计信息处理》_会计信息处理的专家指南_4.1 现值函数
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×