带你读《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.小冰的游戏算法课程设计.docx二、教学内容本课程的教学内容主要包括小冰的游戏算法的原理、基本概念、步骤和应用。具体安排如下:小冰的游戏算法的原理和基本概念:介绍小冰的游戏算法的基本原理和概念,让学生了解游戏算法的基本框架。小冰的游戏算法的基本步骤:讲解小冰的游戏算法的基本步骤,包括问题分析、算法设计、编码实现和测试验证等。小冰的游戏https://www.renrendoc.com/paper/369496195.html
2.《算法设计英文版》([美]乔恩·克莱因伯格(JonKleinberg)伊娃当当网图书频道在线销售正版《算法设计 英文版》,作者:[美] 乔恩·克莱因伯格(Jon Kleinberg) 伊娃·塔多斯(éva,出版社:人民邮电出版社。最新《算法设计 英文版》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《算法设计 英文版》,就上当当网http://product.dangdang.com/27859322.html
3.《算法设计与分析(第3版)》王红梅9787302594390清华大学出版算法设计与分析(第3版) 作者:王红梅 出版社:清华大学出版社 出版日期:2022-01-18 电子书:¥36.4(定价:56.0) 加书架 引用 简介 目录 附件 教学资源 简介 本书将经典问题和算法设计技术结合,以读者容易理解和接受的方式,系统介绍了算法设计技术,包括模拟法、递推法、蛮力法、分治法、减治法、贪心法、动态规划https://wqbook.wqxuetang.com/book/3236082
4.电子版算法设计中文版+英文版+习题作者:[美]克菜因伯格/声音_测试版 ETS奏鸣曲,OTS,音乐库和音乐存储库。 上传者:weixin_42140710时间:2021-03-07 Algorithms:有趣的算法-Python和Java 演算法 有趣/竞争性编码的实践算法-使用Python和Java。 进行中 包含一些可能适用于有效解决大多数算法问题的实用算法/数据结构。 在线资源 图书 算法设计,乔恩·克莱因伯格(Jon Klehttps://www.iteye.com/resource/adagio_-10347013
5.算法设计与分析基础(第3版)AnanyLevitinpdf电子版算法设计与分析基础(第3版) Anany Levitin pdf电子版 作者: [美] Anany Levitin 原作名: Introduction to the Design and Analysis of Algorithms 出版年: 2015-2-1 ISBN: 9787302386346 下栽连接 算法的话,强烈推荐这本,没有算法导论那么难,讲解偏向于浅显易懂,习题丰富,翻译质量高,值得力荐。https://blog.51cto.com/u_16299396/7887141
6.算法设计与分析基础(第3版)pdfepubmobitxt电子书下载2024作者:(美)莱维汀(Anany Levitin) 著;潘彦 译定 价:69出 版社:清华大学出版社出版日期:2015年02月01日页 数:423装 帧:平装ISBN:9787302386346《算法设计与分析基础(第3版)》在讲述算法设计技术时采用了新的分类方法,在讨论分析方法时条分缕析,形成了连贯有序,让人耳目一新的风格。为便于学生掌握,《算法设计与https://windowsfront.com/books/1467806208
7.4.1开发步骤演示(课件)《算法与程序设计学科网为您提供4.1开发步骤演示(课件)-《算法与程序设计-C#》同步教学(电子工业版)精品资料,欢迎您下载使用或在线阅读,获取更多中职职教专业课课件优质资源请关注学科网https://m.zxxk.com/soft/46460147.html
8.计算机算法设计与分析(第5版)课后习题答案第1章 算法概述,第2章 递归与分治策略,第3章 动态规划,第4章 贪心算法,第5章 回溯法,第6章 分支限界法,第7章 随机化算法,第8章 线性规划与网络流,第9章 串与序列的算法,http://daanbar.com/detail/1/8a4af6ec3242496cbe0185e45bb90b0a.html
9.趣学算法(第2版)您还可以扫码右侧二维码, 关注【异步社区】微信公众号,回复“e59600”直接获取,同时可以获得异步社区15天VIP会员卡,近千本电子书免费畅读。 第1版 前言 编写背景 有一天,一个学生给我留言:“我看到一些资料介绍机器人具有‘情感’,真是不可思议,我对这个特别感兴趣,但我该怎么做呢?”我告诉他:“先看算法书。”https://www.epubit.com/bookDetails?id=UB7d85fa69dcbd8
10.挑战程序设计竞赛2:算法和数据结构中文完整pdf版[55MB]附源码电子挑战程序设计竞赛2:算法和数据结构 中文完整pdf版[55MB] 附源码 ,本书分为准备篇、基础篇和应用篇三大部分,本书适合所有程序设计人员、程序设计竞赛爱好者以及高校计算机专业师生阅读。感兴趣的可以下载学习https://www.jb51.net/books/653002.html
11.算法设计与分析基础第3版pdf.pdf本人可以提供各种PDF电子书资料,计算机类,文学,艺术,设计,医学,理学,经济,金融,等等。质量都很清晰,而且每本100%都带书签和目录,方便读者阅读观看,只要您提供给我书的相关信息,一般我都能找到,如果您有需求,请联系我QQ:461573687,或者QQ: 2404062482。本人已经帮助了上万人https://www.taodocs.com/p-31629428.html
12.算法设计(第3版)/清华计算机图书译丛pdf,mobi,epub,txt,百度云盘pdf,mobi,epub,txt,百度云盘|百度网盘|免费下载|电子书下载|电子版全集|免费阅读|在线阅读|精校版|扫描|阿里云盘|Kindle|资源|ed2k|微盘,简介:本书长期位居算法设计畅销书排行榜前列,由算法领域的知名专家Steven S.Skiena教授编写,历经多年后推出了第3版,其主要内容包括https://read678.com/JdBook/index/46958
13.2024年机载娱乐系统(IFE)市场行情分析与趋势预测名称:中国机载娱乐系统(IFE)行业市场调查研究及发展趋势预测报告(2024年版) 编号:2108593 ←电话咨询时,请说明该编号。 市场价:电子版8200元 纸质+电子版8500元 优惠价:电子版7360元 纸质+电子版7660元 可提供增值税专用发票 热线:400 612 8668、010-6618 1099、66182099、66183099 邮箱:KF@Cir.cn 下载《订购https://www.cir.cn/3/59/JiZaiYuLeXiTongIFEShiChangXingQi.html
14.赛2024年度第五届全国大学生算法设计与编程挑战赛(春季赛)【电子版证书下载丨资格证书申领】——春季赛 *电子版证书下载地址:http://ipc.mathor.com/cert 公告来自2024年度第五届全国大学生算法设计与编程挑战赛(春季赛) 快给朋友分享一下吧!https://www.saikr.com/c/nd/19509
15.计算机电子书(15.1GB)百度网盘资源下载计算机电子书9.3GB 算法设计与分析基础.pdf19.1MB 算法设计与分析基础(2).pdf19.1MB 算法设计与分析基础(1).pdf19.1MB 算法导论(美)托马斯·科尔曼.pdf71.6MB 算法导论_原书第3版_CHS.7z95.5MB 算法导论[第二版].pdf48.3MB 算法导论[第二版](2).pdf48.3MB https://www.iizhi.cn/resource/detail/a804e1cea1a7781d1bbbca4a559f4b81
16.电子工业出版社华信教育资源网中国领先的职业教育资源服务提供商,提供各层次教材信息,教学资源下载服务。 主办:华信教育研究所,承办:电子工业出版社,电子邮件 :hxedu@phei.com.cn,京ICP备11030724-2,Copyright ? 2019 华信教育资源网,出版物经营许可证:新出发京批字第版130001号https://hxedu.com.cn/
17.计算机科学中的算法设计与数据结构的离散性AET计算机科学中的算法设计与数据结构的离散性 甄鹏华,于振梅 (山东女子学院 信息技术学院, 山东 济南 250300) 摘要:数字电子计算机是一个离散结构,它只能处理离散的或离散化了的数量关系,因此,无论计算机科学本身,还是与计算机科学及其应用密切相关的现代科学研究领域,都面临着如何对离散结构建立相应的数学模型,以及如何http://www.chinaaet.com/article/3000057392
18.算法设计手册(豆瓣)大学计算机教育国外著名教材系列(影印版)(共42册), 这套丛书还有 《并行程序设计C、MPI与OPenMP》《汇编语言程序设计》《密码学与网络安全》《算法设计》《计算机基础》 等。 喜欢读"算法设计手册"的人也喜欢的电子书· ··· 支持Web、iPhone、iPad、Android 阅读器 Coffeehttps://book.douban.com/subject/4048566/
19.计算机算法设计与分析(第4版)IT技术畅销书查看书籍详细信息: 计算机算法设计与分析(第4版) 内容简介 本书是普通高等教育“十一五”国家级规划教材和国家精品课程教材。全书以算法设计策略为知识单元,系统介绍计算机算法的设计方法与分析技巧。主要内容包括:算法概述、递归与分治策略、动态规划、贪心算法、回溯https://www.cnblogs.com/phpcode/archive/2013/05/23/3097928.html
20.算法设计与分析第2版李春葆PDF下载Java知识分享网本书系统地介绍了各种常用的算法设计策略,包括递归、分治法、蛮力法、回溯法、分枝限界法、贪心法、动态规划、概率算法和近似算法等,并详细讨论了各种图算法和计算几何设计失效链接处理 算法设计与分析 第2版 李春葆 PDF 下载 下载地址: 版权归出版社和原作者所有,链接已删除,请购买正版 用户下载说明: 电子版仅供http://java1234.com/a/javabook/javabase/2022/0303/21906.html
21.GitHubHadoop,HeadFirst,Java,Javascript,jvm,Kafka,Linux,Maven,MongoDB,MyBatis,MySQL,Netty,Nginx,Python,RabbitMQ,Redis,Scala,Solr,Spark,Spring,SpringBoot,SpringCloud,TCPIP,Tomcat,Zookeeper,人工智能,大数据类,并发编程,数据库类,数据挖掘,新面试题,架构设计,算法系列,计算机类,设计模式,软件测试,重构优化,等更多https://github.com/danleechina/pdf
22.求计算机算法设计与分析,第5版,王晓东吾爱破解计算机算法设计与分析,第5版,王晓东电子版 https://www.52pojie.cn/thread-1287924-1-1.html
23.由浅至深推荐进阶java书籍(附PDF下载)对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,本书有很大的参考意义;对于没有网站开发设计经验的人员,通过本书也能宏观了解大型网站的架构及相关问题的解决思路和方案。 点此下载PDF版电子书 三、高级深入类 https://www.w3cschool.cn/java/java-book.html
24.计算机算法设计和分析习题及答案解析.pdf算法设计与分析——课后习题答案(1~8章)(陈慧南 第3版) 算法设计与分析.zip 浏览:47 算法设计与分析PPT,一共有二十个PDF文件 算法设计与分析 郑宗汉 浏览:154 5星 · 资源好评率100% 算法设计与分析 郑宗汉 电子版 pdf 算法设计 很好的一本书 算法设计与分析基础第二版完整版 浏览:31 算法设计与分析基https://download.csdn.net/download/hhappy0123456789/87814501