登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書

『簡體書』Python程序设计与算法思维

書城自編碼: 3507621
分類:簡體書→大陸圖書
作者: [美] 斯图尔特·李杰斯[Stuart,Reges]马蒂·斯
國際書號(ISBN): 9787111655145
出版社: 机械工业出版社
出版日期: 2020-06-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 183.5

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
勇往值钱:做自己人生的CEO
《 勇往值钱:做自己人生的CEO 》

售價:HK$ 68.8
里山资本主义:不做金钱的奴隶,做个安心的里山主人(献礼大地)
《 里山资本主义:不做金钱的奴隶,做个安心的里山主人(献礼大地) 》

售價:HK$ 67.9
欧洲雇佣兵研究(1350-1800)
《 欧洲雇佣兵研究(1350-1800) 》

售價:HK$ 74.8
费里尼的电影
《 费里尼的电影 》

售價:HK$ 102.4
第一性原理:21堂科学通识课(《奇怪的知识增加了》作者马库斯·乔恩全新力作)
《 第一性原理:21堂科学通识课(《奇怪的知识增加了》作者马库斯·乔恩全新力作) 》

售價:HK$ 90.9
过渡劳动:平台经济下的外卖骑手(薄荷实验)
《 过渡劳动:平台经济下的外卖骑手(薄荷实验) 》

售價:HK$ 112.7
爱的重构:让自己成为家庭幸福掌舵人
《 爱的重构:让自己成为家庭幸福掌舵人 》

售價:HK$ 112.7
春雨杏花急急落,车马春山慢慢行(生活是美好的,人是有诗意的。汪曾祺、沈从文、梁实秋等17位名家写给现代人的诗意生活美学之书)
《 春雨杏花急急落,车马春山慢慢行(生活是美好的,人是有诗意的。汪曾祺、沈从文、梁实秋等17位名家写给现代人的诗意生活美学之书) 》

售價:HK$ 59.8

 

內容簡介:
本书作者在构建Python程序的过程中,将经过证明的、做过类测试的、回归基本的策略首次引入到Python程序设计教学中。本书以聚焦问题解决的分层渐进方法介绍了编程的基本原理,并在各个章节增加了新的语法和概念,以及展示了好的编程风格应该是什么样的,分阶段开发了一个复杂的程序。本书关注的是问题的解决,强调算法思维。
目錄
出版者的话
译者序
前言
第1章 Python编程简介1
1.1 计算的基本概念1
1.1.1 为何编程1
1.1.2 硬件和软件2
1.1.3 数字领域3
1.1.4 编程的过程4
1.1.5 为何选择Python5
1.1.6 Python编程环境6
1.2 一个完整的Python程序7
1.2.1 打印输出9
1.2.2 字符串文字(字符串)9
1.2.3 转义序列10
1.2.4 打印复杂图形11
1.2.5 注释、空白和可读性12
1.3 程序错误14
1.3.1 语法错误15
1.3.2 逻辑错误17
1.4 程序分解17
1.4.1 函数18
1.4.2 控制流21
1.4.3 标识符和关键字23
1.4.4 调用其他函数的函数24
1.4.5 运行时错误的例子26
1.5 案例研究:绘图27
1.5.1 结构化版本27
1.5.2 没有冗余的最终版本29
1.5.3 执行流分析30
本章小结31
自测题32
习题35
编程项目39
第2章 数据和确定循环40
2.1 基本数据概念40
2.1.1 数据类型40
2.1.2 表达式41
2.1.3 字面量43
2.1.4 算术运算符44
2.1.5 运算优先级46
2.1.6 混合和转换类型48
2.2 变量49
2.2.1 使用变量的程序52
2.2.2 自增自减运算符56
2.2.3 打印多个值57
2.3 for循环59
2.3.1 使用循环变量62
2.3.2 关于循环范围的细节64
2.3.3 字符串乘法与打印部分行67
2.3.4 嵌套for循环70
2.4 管理复杂性72
2.4.1 作用域72
2.4.2 伪代码74
2.4.3 常量78
2.5 案例研究:沙漏图80
2.5.1 问题分解和伪代码81
2.5.2 初始结构化版本83
2.5.3 增加一个常量84
本章小结86
自测题86
习题91
编程项目94
第3章 参数与图形98
3.1 参数98
3.1.1 参数的机制103
3.1.2 参数的限制105
3.1.3 多个参数107
3.1.4 参数与常量110
3.1.5 可选参数110
3.2 返回值111
3.2.1 math模块113
3.2.2 random模块116
3.2.3 定义返回值的函数119
3.2.4 返回多个值123
3.3 交互式程序124
3.4 图形128
3.4.1 DrawingPanel简介129
3.4.2 画线和形状131
3.4.3 颜色133
3.4.4 使用循环画图137
3.4.5 文本与字体139
3.4.6 图像141
3.4.7 画图过程分解141
3.5 案例研究:抛射轨迹144
3.5.1 非结构化解决方案146
3.5.2 结构化解决方案148
3.5.3 图形版本150
本章小结153
自测题153
习题158
编程项目164
第4章 条件执行166
4.1 ifelse语句166
4.1.1 关系运算符168
4.1.2 ifelse语句嵌套170
4.1.3 ifelse语句分解174
4.1.4 多个判别条件176
4.2 累积算法176
4.2.1 累积求和176
4.2.2 求最小最大值循环178
4.2.3 使用if语句的累积求和181
4.2.4 舍入误差183
4.3 函数中的条件执行185
4.3.1 前置条件和后置条件185
4.3.2 抛出异常186
4.3.3 回顾返回值189
4.3.4 分支选择推理191
4.4 字符串193
4.4.1 字符串方法194
4.4.2 按索引访问字符196
4.4.3 字母和数值之间的转换200
4.4.4 累积文本算法202
4.5 案例研究:基础代谢率203
4.5.1 单人非结构化BMR解决方案204
4.5.2 双人非结构化BMR解决方案207
4.5.3 双人结构化BMR解决方案209
4.5.4 过程式设计启发式212
本章小结216
自测题216
习题221
编程项目223
第5章 程序逻辑与不确定循环224
5.1 while循环224
5.1.1 寻找最小因数的循环226
5.1.2 循环的启动227
5.2 栅栏算法230
5.2.1 带if语句的栅栏循环232
5.2.2 哨兵循环234
5.2.3 带最小最大值的哨兵循环236
5.3 布尔逻辑238
5.3.1 逻辑运算符239
5.3.2 布尔变量与标志241
5.3.3 谓词函数243
5.3.4 布尔Zen245
5.3.5 短路求值248
5.4 健壮的程序251
5.4.1 tryexcept语句252
5.4.2 处理用户错误255
5.5 断言与程序逻辑256
5.5.1 针对断言的推理258
5.5.2 一个详细的断言示例259
5.6 案例研究:数字猜谜游戏262
5.6.1 不带提示的初始版本263
5.6.2 带提示的随机化版本264
5.6.3 健壮的最终版本267
本章小结270
自测题270
习题276
编程项目279
第6章 文件处理280
6.1 文件读取基础知识280
6.1.1 数据和文件280
6.1.2 在Python中读取文件282
6.1.3 基于行的文件处理285
6.1.4 文件结构与消耗式输入286
6.1.5 提示输入文件290
6.2 基于标记的处理292
6.2.1 数值输入294
6.2.2 处理非法输入295
6.2.3 行与标记的混合使用296
6.2.4 处理不同数量的标记297
6.2.5 复杂的输入文件301
6.3 高级文件处理303
6.3.1 多行输入记录303
6.3.2 文件输出305
6.3.3 从网页中读取数据308
6.4 案例研究:邮政编码查询310
本章小结316
自测题316
习题318
编程项目321
第7章 列表323
7.1 列表基础知识323
7.1.1 创建列表324
7
內容試閱
Python编程语言近年来已经变得非常受欢迎。能够快速学习Python简单直观的语法让人印象深刻,也让许多用户创建了流行的程序库。Python由Guido van Rossum设计,Python社区称他为“仁慈的独裁者”(BDFL)。他说选择Python这个名字“略带随意性”,同时也因为他是“《Monty Python飞行马戏团》(一部英国喜剧片)的忠实粉丝”。谁不想学习以一个喜剧演员团体名称命名的编程语言呢?
本书旨在用于计算机科学的第一门课程。我们对亚利桑那大学的数百名本科生进行了课堂测试,其中大多数不是计算机科学专业的学生。本教材采用了与我们之前编写的《Java程序设计教程(第4版)》相同的风格。Java教材在我们的课堂测试中被证明是有效的,该测试覆盖自2007年以来在华盛顿大学学习的数千名学生。
计算机科学导论课程在许多大学有着悠久的历史,都是通过率很低的“杀手”课程。但正如道格拉斯·亚当斯在《银河系漫游指南》中所说的那样:“不要惊慌失措。”学生如果递进式学习,就可以掌握这门课程。
Python拥有很多特性,这使其成为用于第一门计算机科学课程的有吸引力的语言。它具有简单、简洁但功能强大的语法,使得学习轻松愉快,并且非常适用于编写许多常用的程序。学生可以只用一行代码来编写自己的第一个Python程序,而不像Java或C++这样的大多数语言需要编写若干行。Python包含内置的解释器和“读取-求值-输出”循环(REPL,交互式解释器),用于快速运行和测试代码,鼓励学生测试和探索语言。Python还提供了丰富的库,学生可以将它们用于图形、动画、数学、科学计算、游戏等。本书基于撰写时最新的语言版本Python 3,覆盖了该语言版本的现代特性和习惯用法。
本书基于“回归基础”的方法,侧重于过程式编程和程序分解。这也被称为“对象在后”方法,而不是某些学校采用的“对象先行”方法。根据我们多年的经验,许多科学家、工程师等都可以学习过程式编程。一旦我们建立了面向过程的坚实技术基础,就转向面向对象的编程。在本书的最后,学生将学习这两种编程风格。
以下是我们的方法和材料的主要特点:
专注于解决问题。许多教科书在介绍新构造时都会关注语言细节,我们则专注于解决问题。每个构造可以解决哪些新问题?新手可能遇到哪些陷阱?使用新构造的常见方法是什么?
强调算法思维。过程式方法允许我们强调算法问题的解决:将大问题分解为更小的问题,使用伪代码来细化算法,并解决用算法表示大型程序的困难。
彻底讨论主题。我们发现许多介绍性教材快速涵盖了新的语法和概念,然后就迅速进入下一个主题。我们觉得打开教科书的学生正是那种想要更彻底、更细致地解释和讨论棘手问题的学生。在本教材中,我们倾向于使用更长的解释,其中包含比其他教材更多的说明、图表和代码示例。
分层方法。编程涉及许多难以一次学到的概念。教新手编写代码就像试图建造一个纸牌屋:每张新牌都必须小心放置。如果太匆忙而试图同时放置太多纸牌,整个结构就会崩溃。我们逐层教授新概念,让学生逐步加深对概念的理解。
强调良好的编码风格。我们展示了使用正确和一致的编程风格,以及设计的代码。书中显示的所有完整程序都已经过全面注释和正确分解。在整本书中,我们讨论了习惯用法,好的和坏的编程风格,以及如何选择优雅和适当的方法来分解和解决问题。
精心挑选的语言子集。我们不是试图向学生展示每一种语言结构和特性,而是解释和使用我们认为最适合解决入门级问题的Python语言的核心子集。
案例研究。我们通过一个典型的案例研究结束大多数章节,向学生展示如何分阶段开发复杂程序以及如何在开发过程中对其进行测试。这种结构允许我们在丰富的上下文中演示每个新的编程结构,这是无法通过短代码示例来实现的。
层次和依赖关系
许多介绍性的计算机科学教材都是面向语言的,但本书前几章的方法是分层的。例如,Python有许多控制结构(包括循环和ifelse语句),许多教材在一章中包含所有控制结构。虽然这对于已经知道如何编程的人来说可能有意义,但对于正在学习如何编程的新手而言,这可能带来压力。我们发现将这些控制结构分散到不同的章节来讲解更加有效,这样,学生可以一次学习一个结构,而不是一次性学习全部结构。
下表显示了前七章中的分层方法:
第1~7章的分层
章节控制流数据技术输入输出
1函数字符串字面量分解print
2确定循环(for循环)表达式变量,整数,实数局部变量,全局常量,伪代码
3参数,返回使用对象使用参数返回值进行分解控制台输入,图形
4条件(ifelse)字符串前置后置条件,抛出异常
5不确定循环(while 循环)布尔逻辑断言,健壮的程序
6文件对象基于行的处理,基于标记的处理文件IO
7列表遍历文件作为列表
第1~5章是按顺序进行设计的,然后从第6章开始具有更大的学习灵活性。尽管第7章(列表)中的案例研究涉及从文件中读取,而第6章介绍了该主题,但仍旧可以跳过第6章。
下图显示了各章的依赖关系。强依赖关系绘制为实箭头。我们建议学习时不要覆盖强依赖顺序之外的章节。弱依赖关系绘制为虚箭头。弱依赖关系表示后一章简要提到了前一章中的主题,但是如果必要的话,仍然可以阅读和探索这一章而不必考虑前面的章节。

以下是各章之间弱依赖关系的更详细解释:
第7章中的一些示例,以及第8章中关于字典和集合的一些示例,会从文件中读取数据。文件输入输出在第6章中介绍。但是,为了讨论列表或其他数据集合,不需要进行整体文件读取,因此如果需要,可以跳过第6章。
第11章中关于类和对象的一些示例提到了引用语义的概念,它在第7章中介绍。但是在第11章中重新解释了引用的概念,因此如果需要,可以在学习列表之前先学习类。
第9章中的一些递归函数会处理列表,并且一个递归函数会以递归方式反转文件的所有行。因此第9章在一定程度上依赖于第7章。但是,第9章中的几乎所有递归函数都可以只使用第1~5章的核心内容来编写和理解。
从图中可以看出,第7章可能是前五章之后最重要的章节,其内容被许多其他章节使用。常见的章节交换顺序是先学习第1~5章,然后学习第7章,再返回第6章学习关于文件的额外知识。
补充材料
所有自测题的答案都在本书配套网站http:www.buildingpythonprograms.com中提供。
此外,配套网站还为学生提供了以下额外资源:
在线的补充内容。
所有案例研究的源代码和数据文件以及其他完整的程序示例。
第3章中使用的DrawingPanel类。
链接到基于Web的编程练习工具。
教师可以访问以下资源:
适用于讲课的PowerPoint幻灯片。
习题和编程项目的解决方案,以及许多项目的家庭作业规范文档。
考试题和解决方案的关键点。
要访问教师资源,请发送电子邮件至authors@buildingpythonprograms.com与我们联系。有关资源的其他问题,请联系作者或Pearson代表。
致谢
感谢Pearson的工作人员,他们帮助制作了这本书。Rose Kernan管理该项目,是我们在图书制作过程中的主要联系人。Rose做了非凡的工作,她在这个过程中始终勤奋、积极、乐于助人。Amanda Brands是内容制作人,她在此过程中提供了出色的支持。感谢Martha McMaster对本教材进行校对,感谢Shelly Gerger-Knechtl进行文案编辑和索引编制。感谢营销经理Yvonne Vannatta和编辑助理Meghan Jacoby。还要感谢Pearson的艺术和合成团队,他们对本书进行了排版。
感谢Pearson的主编Matt Goldstein。十多年前,Matt就认可了我们的工作,并与我们合作出版了《Java程序设计教程》第1版。Matt一直是一个坚定的支持者,我们总是很乐意与他合作。
最后但同样重要的是,我们要感谢亚利桑那大学的CSC 110学生,他们对本书的草稿进行了课堂测试,提供了有用的建议,并改正了草稿中的错误。
Stuart Reges,华盛顿大学
Marty Stepp,斯坦福大学
Allison Obourn,亚利桑那大学

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.