带你读《Python程序设计与问题求解(原书第2版)》之一:引言

丰富的线上&线下活动,深入探索云世界

做任务,得社区积分和周边

最真实的开发者用云体验

让每位学生受益于普惠算力

让创作激发创新

资深技术专家手把手带教

遇见技术追梦人

技术交流,直击现场

海量开发者使用工具、手册,免费下载

极速、全面、稳定、安全的开源镜像

开发手册、白皮书、案例集等实战精华

为开发者定制的Chrome浏览器插件

[美]肯尼斯·A.兰伯特(KennethA.Lambert)著刘鸣涛孙黎甘靖译

引言完成本章的学习之后,你将能够做到以下几点:●描述算法的基本特征。●解释在计算机体系结构中硬件和软件是如何协作的。●总结计算机的发展简史。●编写并运行一个简单的Python程序。

跟大多数的研究领域一样,计算机科学涉及一系列广泛的相互关联的思想。其中最基本的两个思想是算法和信息处理。本节会对这两个基本思想做简要介绍,后面的章节中会详细地介绍它们。

现在简单介绍一下现代计算机系统的结构。现代计算机系统由硬件和软件组成。硬件由执行算法所需的物理设备组成。软件是这些算法的集合,表示为程序,特别是编程语言。在接下来的讨论中,我们将重点讨论典型台式计算机系统中的硬件和软件,尽管在其他计算机系统中也可以找到类似的组件,例如手持设备和ATM(自动取款机)。

计算机的基本硬件组件是存储器、中央处理器(CPU)和一组输入/输出设备,如图1-1所示。

存储在存储器中的信息可以表示任何类型的数据,例如数字、文本、图像或声音,或者程序的指令。我们还可以在内存中存储一个编码为计算机二进制指令的算法。一旦信息被存储在内存中,我们通常想用它做点什么,也就是说,我们想处理它。负责处理数据的计算机部分是中央处理器(CPU)。这种设备有时也称为处理器,由电子开关组成,用来执行简单的逻辑、算术和控制操作。CPU通过从存储器中提取二进制指令、解码并执行它们来执行算法。执行指令可能还需要从内存中获取其他二进制信息(数据)。处理器可以非常快速地定位计算机主存储器中的数据。然而,这些数据只有在电力进入计算机时才存在。如果电源故障或关闭,主存储器中的数据将丢失。显然,需要更永久性的内存来保存数据。这种更持久的内存称为外部或辅助内存,它有几种形式。磁带和硬盘等磁存储介质允许位模式作为模式存储在磁场中。半导体存储介质(例如闪存棒)与光学存储介质(例如CD和DVD)以不同的技术实现几乎相同的功能。这些辅助存储介质中的一些可以容纳比计算机的内部存储器大得多的信息量。

■.练习

Python是一种解释语言,你可以在名为shell的交互式编程环境中运行简单的Python表达式和语句。打开Pythonshell最简单的方法是启动IDLE(集成开发环境)。这是Python安装附带的集成程序开发环境。执行此操作时,将打开一个名为PythonShell的窗口。图1-6显示了macOS上的shell窗口,在Windows系统或Linux系统上运行的shell窗口看起来应该与这个相似。请注意,此屏幕截图中出现的Python版本是3.6.1。本书假设你将使用Python3而不是Python2。这两个版本之间有很大的差异,本书中使用的许多示例不适用于Python2。

在shell窗口中包含一条打开消息,后面跟着一个特殊符号>>>,称为shell提示符。shell提示符下的光标等待你输入Python命令。请注意,通过在shell提示符下输入help或从窗口的下拉菜单中选择帮助,便可以立即获得帮助。当你输入表达式或语句时,Python会对其进行计算并显示结果(如果有的话),然后显示新的提示符。接下来的几行显示了对几个表达式和语句的求值。

注意Python代码中颜色的使用。IDLE编程环境使用颜色编码来帮助读者挑选代码中的不同元素。在这个例子中,引号内的项目是绿色的,标准函数的名称是紫色的,程序注释是红色的,IDLE对用户命令的响应是蓝色的,剩余的代码是黑色的。表1-1列出了本书所有程序代码中使用的颜色编码方案。

Pythonshell对于尝试用短表达式或语句来学习该语言的新特性以及查阅该语言的文档非常有用。要退出Pythonshell,你可以选择窗口的关闭框,或者按下Control+D组合键。本节的其余部分将探讨开发更复杂和更有趣的程序的方法。

在这个例子中,文本“Hithere”是我们希望Python显示的文本。在编程术语中,这段文字被称为字符串。在Python代码中,字符串总是用引号括起来。但是,print函数显示不带引号的字符串。你还可以编写一个打印函数,该函数包含两个或多个用逗号分隔的表达式。在这种情况下,print函数会评估表达式,并在一行中显示结果,用单个空格分隔。带有两个或更多表达式的print语句的语法如下所示:

注意这个语法示例中的省略号(...)。省略号表示你可以在第一个表达式之后包含多个表达式。无论输出一个或多个表达式,print函数总是以换行符结束其输出。换句话说,它显示表达式的值,然后将光标移动到窗口的下一行。要在与上一行相同的行上开始下一个输出,可以将表达式end="",即“用空字符串而不是换行符结束行”,放在表达式列表的末尾,如下所示:

在Python中创建程序时,你经常希望程序向用户请求输入。你可以通过使用input函数来做到这一点。此功能使程序停止并等待用户从键盘输入值。当用户按下return或enter键时,该函数接受输入值,并使其可供程序使用。以这种方式接收输入值的程序通常会将其保存以供进一步处理。下面的示例接收来自用户的输入字符串并保存它以供进一步处理。用户的输入是黑色的。

输入功能执行以下操作:●显示输入提示。在这个例子中,提示是"Enteryourname:"。●接收在键盘上输入的称为字符的击键字符串,并将该字符串返回给shell。输入函数如何知道使用什么作为提示?括号中的文本"Enteryourname:"是input函数的一个参数,它告诉input函数如何用于提示。参数是函数完成工作所需的信息。通过将函数返回的字符串分配给变量name来保存。具有输入功能的赋值语句的形式如下:

变量标识符简称变量,它只是一个值的名称。当变量在input语句中收到它的值时,变量就会引用这个值。如果用户在最后一个示例中输入了名称“KenLambert”,变量名的值如下所示:

input函数总是根据用户的击键建立一个字符串并将其返回到程序中。输入代表数字的字符串后,程序员必须将它们从字符串转换成合适的数字类型。在Python中,为此有两个类型转换函数,分别称为int(整数)和float(浮点数字)。下一个例子输入两个整数并显示它们的总和:

注意,调用int函数时,输入函数会返回每个结果。将这两个数字相加,然后输出它们的总和。表1-2总结了本节介绍的函数。

虽然在shell提示符下以交互方式尝试短Python表达式和语句很容易,但是编写、编辑和保存文件中更长、更复杂的程序更方便。然后,我们可以在IDLE中运行这些程序文件或脚本,也可以在操作系统的命令提示符下运行,而不打开IDLE。脚本文件也是Python程序分发给他人的方式。最重要的是,正如你从写学期论文中知道的,文件允许你安全和永久地保存若干小时的工作。要以这种方式编写和执行程序,请执行以下步骤:

图1-7显示了一个IDLE窗口,其中包含一个完整的脚本,提示用户输入矩形的宽度和高度,计算矩形的面积,并输出结果。

脚本当脚本从IDLE窗口运行时,它会在图1-8所示的shell窗口中产生与用户的交互。

与在Python解释器的提示下直接输入程序相比,这可能是一种互动程度稍低的执行程序的方式。但是,从IDLE窗口运行脚本将允许你构建一些复杂的程序,测试它们,并将它们保存在程序库中,以便重用或与他人共享。

无论你是将Python代码作为脚本运行还是在shell中交互运行,Python解释器都会做大量工作来执行程序中的指令。这项工作可以分成一系列步骤,如图1-9所示。

程序员在编写程序时不可避免地会犯拼写错误,Python解释器几乎总能检测到这些错误。这种错误称为语法错误。术语语法是指在语言中形成句子的规则。当Python在程序中遇到语法错误时,它会停止执行,并显示错误消息。Pythonshell的以下示例显示了几种类型的语法错误和相应的错误消息:

第一条语句为变量Length分配一个输入值。下一条语句试图打印变量Length的值。Python回应说这个名字没有定义。虽然程序员可能想写变量Length,但是Python只能读取程序员实际输入的内容。这是一个很好的例子,说明一台计算机只能读取它接收的指令,而不能读取我们打算给它的指令。下一条语句试图打印拼写正确的变量的值。但是,Python仍然会生成错误消息。

在此错误消息中,Python解释了这一行代码意外缩进。事实上,在print之前还有一个额外的空格。缩进在Python代码中非常重要。在shell提示符或脚本中输入的每一行代码必须从最左边的列开始,没有前导空格。此规则的唯一例外发生在控制语句和定义中,其中嵌套语句必须缩进一个或多个空格。你可能会认为跟踪程序中的缩进会很痛苦。然而,作为补偿,Python语言比其他编程语言简单得多。因此,要遇到和纠正的语法错误类型更少,要学习的语法也更少!在我们的最后一个例子中,程序员试图添加两个数字,但是忘记了第二个数字:

在后面的章节中,你将了解更多其他类型的程序错误以及如何修复产生这些错误的代码。■.练习

THE END
1.三文鱼咖喱外卖意面披萨炒饭玉米饼自制美食芝士食谱获取食谱 豆腐和蔬菜的帕南咖喱 打开网易新闻 查看精彩图片 在家照着这个简单又美味的食谱做您自己的帕南咖喱,把奶油、甜味和辣味都融在这一道菜里。 获取食谱 通心粉芝士披萨 打开网易新闻 查看精彩图片 用剩余的通心粉和芝士,仅需 20 分钟就能做出这快捷美味的培根通心粉芝士披萨,满足您对美食的渴望。 获取食谱https://m.163.com/dy/article/JIF476A005568E2R.html
2.步骤图电子版西点烘焙配方合集的做法电子版西点烘焙配方合集 电子版西点烘焙配方合集 用料 电子版西点烘焙配方合集的做法步骤http://mip.xiachufang.com/recipe/107294565/
3.东菱面包机电子食谱东菱面包机蛋糕的做法和配方窍门价廉物美~按说明书上的食谱配方,按照食谱上的配料表,细砂糖60克,低筋面粉120克、然后是低筋面粉:1将材料B混合后过筛备用。倒入110ml牛奶,步骤。 烤出的面包外皮才不会又厚又硬,麻烦解答下,将面包桶从面包机中取出,用面包机做蛋糕好像是要材料,反正味道很不错,东菱面包机做蛋糕,夹在正中间,做海绵蛋糕吧,不https://www.haian.com.cn/thread-1277586-1-1.html
4.美的面包机食谱电子版20220520144453.doc美的面包机食谱-电子版.doc 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线预览全文 PAGE 1 快速主食面包快速基本面包配料重量 500g 750g 1000g 水 150ml 200ml 270ml 黄油或植物油 18g 1+1/2 大勺 25g 2大勺 32g 2+3/4 大勺白砂糖 18g 1+1/2 大勺 25g 2大勺 32g 2+3/4 大勺盐 3ghttps://m.book118.com/html/2022/0520/6231131125004150.shtm
5.Linux电子邮件教程(三)linux接收邮件使用Procmail 宏简化电子邮件头部分析 详细分析一些高级配方,包括一些示例配方 到本章结束时,您应该具有一套有用的例程工具箱,用于组合您自己的一套 Procmail 配方,并控制您的邮件。 投递和非投递配方 到目前为止,我们只涵盖了那些要么最终将邮件传递给程序或文件,要么将消息转发给另一个邮件用户的配方。还有另一个选https://blog.csdn.net/wizardforcel/article/details/140489522
6.晶体电子单元PRTS晶体电子单元 用途 昂贵的源石工业产品,用于重要的强化场合。 描述 泰拉源石科技的结晶,泰拉工业现代化的代表。源石施术单元与城际网络服务器的制造都离不开这种科技产品。 加工站1 8 400 1 2 1 需要3级加工站 2星通关S4-10坚守-1解锁配方 副产物 (合计出率 10%) 8.4% 6.3% 6.3% 5.6% 5.6%https://prts.wiki/w/%E6%99%B6%E4%BD%93%E7%94%B5%E5%AD%90%E5%8D%95%E5%85%83
7.分享各类美食菜谱/食谱电子书合集 美食电子书合集 超级实用 190人参与 提交 提交后可查看结果 美味酱汁宝典 168人参与 提交 提交后可查看结果 中国野菜食谱大全 147人参与 提交 提交后可查看结果 中国小吃技术合集资料 152人参与 提交 提交后可查看结果 各种食用油料教学技术配方 143人参与 提交 提交后可查看结果 素食名菜精华系列 149人参与 https://m.douban.com/group/topic/311490871/
8.普及与提高范文11篇(全文)治疗胎动不正常的食谱 原材料:鲈鱼1尾(约600克},北芪25克,红枣8粒,生姜、绍酒、精盐、鲜汤各适量。 1、鲈鱼去鳞、鳃及内脏,洗净,两面剖花刀,汆水,北芪、红枣分别洗净,红枣去核。 2、鲈鱼、北芪、红枣、生姜一起装盘,加入鲜汤、白酒、精盐,封 好保鲜膜,微波炉高火转5分钟或隔水炖1小时,取出趁热食用。营养https://www.99xueshu.com/w/ikey9hrcwkbe.html
9.糖尿病家庭食谱(第2版)电子书下载全书配有主要食谱的实物彩照。《糖尿病家庭食谱(第2版)》集北京协和医院营养部工作经验之精华,所荐食品普通家庭买得到、买得起,食谱配方明了,计算方法简单,可较好地指导糖尿病人及家属熟悉食物交换方法,学会自己安排食谱,享受多彩膳食,达到治病目的。 同类热门电子书下载更多https://topbester.com/ebook/view/160624.html
10.c7官方网站入口注册下载魔卡少女樱回想钥匙食谱研讨配方有哪些 624.71MB查看 魔卡少女樱回想钥匙食谱研讨配方有哪些 418.11MB查看 微软Edge浏览器怎样阅览EPUB文件? edge阅览EPUB电子书办法 878.16MB查看 百度文心一言进口在哪?文心一言官网进口地址共享 326.48MB查看 实施五个月,事例会集三范畴:家长教育促进法处罚了家长,然后呢? 842.98MB查http://www.sdlhaitao.com/
11.图解三命通会1八字神煞书籍pdf下载[15种健脑食物与150道健脑菜].张燕.王作生.扫描版[药膳食疗5shubook.com].pdf [食物相宜相克大百科].佚名.扫描版[药膳食疗5shubook.com].pdf [吃对食物更健康].佚名.扫描版[药膳食疗5shubook.com].pdf 《5分钟懒人食谱 12元搞定三菜一汤》[药膳食疗5shubook.com].pdf 面包配方做法大全[药膳食疗5https://m.5shubook.com/p-4996.html
12.需求与商业模式分析2商业模式类型51CTO博客出版实体和电子食谱,开始推出针对单身男性的食谱 09年已上市,Banner广告收入日本第十,与广告收入第一的Yahoo Japan合作 2019年上半年利润下跌70%(总营收下跌2.4%,同时在推新业务CookpadTV),会员费营收上涨4%,占比达63.7%(广告营收下跌14.1%,其它收入下跌8.3%) https://blog.51cto.com/u_16038001/6159181
13.上海程白电子科技有限公司动物餐厅海德薇信件解锁配方全攻略【最新版】 动物餐厅海德薇可以带回来一些信件,具体是哪些信件需要看海德薇背包里放了哪些东西,下面小编就为大家搜集了最新的动物餐厅海德薇信件解锁配方大全,一起看看吧:相关攻略:客人解锁【最新版】海德薇信件配方【最新 2024-11-26 http://www.gengzu.cn/
14.饥荒电子原件怎么获得饥荒电子原件获得方法电子元件在科技栏,第三个,制作需要两个金子一个石块,注意一些MOD会出现冲突现象,导致电子元件配方消失,不能制作,另外浣熊也可能吐出电子元件。饥荒电子原件怎么获得https://m.3dmgame.com/mip/gl/3787824.html