- ISBN:9787115283252
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:330
- 出版时间:2023-02-01
- 条形码:9787115283252 ; 978-7-115-28325-2
本书特色
本书具有以下特点:● 广泛使用计算机图形学——本书提供一个简单的图形软件包graphics.py作为示例。● 生动有趣的例子——本书包含了完整的编程示例来解决实际问题。● 亲切自然的行文——以自然的叙事风格介绍了重要的计算机科学概念。● 灵活的螺旋式学习过程——简单地呈现概念,逐渐介绍新的思想,章节末加以巩固强化。● 时机恰好地介绍对象——本书既不是严格的“早讲对象”,也不是“晚讲对象”,而是在命令式编程的基础上简要地介绍了对象概念。● 提供丰富的教学素材——提供了大量的章末习题。还提供代码示例和教学PPT下载。本书以Python语言为工具教授计算机程序设计。本书强调解决问题、设计和编程是计算机科学的核心技能。本书特色鲜明、示例生动有趣、内容易读易学,适合Python入门程序员阅读,也适合高校计算机专业的教师和学生参考。访问异步社区(www.epubit.com.cn)的本书页面,可下载本书示例代码、习题解答和教学PPT。
内容简介
本书是面向大学计算机科学专业**门程的教材。本书以Python语言为工具,采用相当传统的方法,强调解决问题、设计和编程是计算机科学的核心技能。 全书共13章,包含两个附录。第1章到第5章介绍计算机与程序、编写简单程序、数字计算、对象和图形、字符串处理等基础知识。第6章到第8章介绍函数、判断结构、循环结构和布尔值等话题。第9章到第13章着重介绍一些较为高等级的程序设计方法,包括模拟与设计、类、数据集合、面向对象设计、算法设计与递归等。附录部分给出了Python快速参考和术语表。每一章的末尾配有丰富的练习,包括复习问题、讨论和编程联系等多种形式,帮助读者巩固该章的知识和技能。 本书特色鲜明、示例生动有趣、内容易读易学,是美国颇受欢迎的教程,适合Python入门程序员阅读,也适合高校计算机专业的教师和学生参考。
目录
学习目标1
1.1 通用机器1
1.2 程序的力量2
1.3 什么是计算机科学2
1.4 硬件基础3
1.5 编程语言4
1.6 Python的“魔法”6
1.7 Python程序内部10
1.8 混沌与计算机12
1.9 小结13
1.10 练习14
复习问题14
第 2章 编写简单程序17
学习目标17
2.1 软件开发过程17
2.2 示例程序:温度转换器18
2.3 程序要素19
2.3.1 名称19
2.3.2 表达式20
2.4 输出语句22
2.5 赋值语句23
2.5.1 简单赋值23
2.5.2 赋值输入24
2.5.3 同时赋值26
2.6 确定循环27
2.7 示例程序:终值29
2.8 小结31
2.9 练习32
复习问题32
第3章 数字计算35
学习目标35
3.1 数值数据类型35
3.2 类型转换和舍入38
3.3 使用math库40
3.4 累积结果:阶乘42
3.5 计算机算术的局限性44
3.6 小结46
3.7 练习47
复习问题47
第4章 对象和图形52
学习目标52
4.1 概述52
4.2 对象的目标53
4.3 简单图形编程53
4.4 使用图形对象56
4.5 绘制终值60
4.6 选择坐标64
4.7 交互式图形66
4.7.1 获取鼠标点击67
4.7.2 处理文本输入68
4.8 graphics模块参考70
4.8.1 GraphWin对象70
4.8.2 图形对象71
4.8.3 Entry对象74
4.8.4 显示图像74
4.8.5 生成颜色75
4.8.6 控制显示更新(高档)75
4.9 小结76
4.10 练习76
复习问题76
第5章 序列:字符串、列表和文件81
学习目标81
5.1 字符串数据类型81
5.2 简单字符串处理84
5.3 列表作为序列86
5.4 字符串表示和消息编码87
5.4.1 字符串表示87
5.4.2 编写编码器88
5.5 字符串方法89
5.5.1 编写解码器89
5.5.2 更多字符串方法92
5.6 列表也有方法93
5.7 从编码到加密94
5.8 输入 输出作为字符串操作95
5.8.1 示例应用程序:
日期转换95
5.8.2 字符串格式化97
5.8.3 更好的零钱计数器99
5.9 文件处理99
5.9.1 多行字符串100
5.9.2 文件处理100
5.9.3 示例程序:批处理
用户名103
5.9.4 文件对话框(可选)103
5.10 小结105
5.11 练习106
复习问题106
第6章 定义函数111
学习目标111
6.1 函数的功能111
6.2 函数的非正式讨论112
6.3 带有函数的终值程序115
6.4 函数和参数:令人兴奋的
细节116
6.5 返回值的函数119
6.6 修改参数的函数122
6.7 函数和程序结构126
6.8 小结128
6.9 练习129
复习问题129
第7章 判断结构133
学习目标133
7.1 简单判断133
7.1.1 示例:温度警告133
7.1.2 形成简单条件135
7.1.3 示例:条件程序执行136
7.2 两路判断137
7.3 多路判断140
7.4 异常处理142
7.5 设计研究:三者大144
7.5.1 策略1:比较每个值和
所有其他值145
7.5.2 策略2:判断树146
7.5.3 策略3:顺序处理147
7.5.4 策略4:使用Python148
7.5.5 一些经验148
7.6 小结149
7.7 练习149
复习问题149
第8章 循环结构和布尔值153
学习目标153
8.1 for循环:快速回顾153
8.2 不定循环154
8.3 常见循环模式155
8.3.1 交互式循环155
8.3.2 哨兵循环156
8.3.3 文件循环158
8.3.4 嵌套循环160
8.4 布尔值计算161
8.4.1 布尔运算符161
8.4.2 布尔代数163
8.5 其他常见结构165
8.5.1 后测试循环165
8.5.2 循环加一半166
8.5.3 布尔表达式作为判断166
8.6 示例:一个简单的事件循环169
8.7 小结172
8.8 练习173
复习问题173
第9章 模拟与设计177
学习目标177
9.1 模拟短柄壁球177
9.1.1 一个模拟问题177
9.1.2 分析与规格说明178
9.2 伪随机数178
9.3 自顶向下的设计180
9.3.1 顶层设计180
9.3.2 关注点分离182
9.3.3 第 二层设计182
9.3.4 设计simNGames183
9.3.5 第三层设计184
9.3.6 整理完成186
9.3.7 设计过程总结188
9.4 自底向上的实现188
9.4.1 单元测试188
9.4.2 模拟结果189
9.5 其他设计技术190
9.5.1 原型与螺旋式开发190
9.5.2 设计的艺术191
9.6 小结191
9.7 练习192
复习问题192
第 10章 定义类196
学习目标196
10.1 对象的快速复习196
10.2 示例程序:炮弹197
10.2.1 程序规格说明197
10.2.2 设计程序197
10.2.3 程序模块化199
10.3 定义新类200
10.3.1 示例:多面骰子201
10.3.2 示例:Projectile类203
10.4 用类数据处理205
10.5 对象和封装207
10.5.1 封装有用的抽象207
10.5.2 将类放在模块中208
10.5.3 模块文档208
10.5.4 使用多个模块210
10.6 控件210
10.6.1 示例程序:掷骰
子程序211
10.6.2 创建按钮211
10.6.3 构建骰子类213
10.6.4 主程序215
10.7 动画炮弹216
10.7.1 绘制动画窗口217
10.7.2 创建ShotTracker218
10.7.3 创建输入对话框219
10.7.4 主事件循环220
10.8 小结221
10.9 练习222
复习问题222
第 11章 数据集合227
学习目标227
11.1 示例问题:简单统计227
11.2 应用列表228
11.2.1 列表和数组229
11.2.2 列表操作229
11.2.3 用列表进行统计231
11.3 记录的列表235
11.4 用列表和类设计237
11.5 案例分析:Python计算器241
11.5.1 计算器作为对象241
11.5.2 构建界面241
11.5.3 处理按钮243
11.6 案例研究:更好的炮弹动画246
11.6.1 创建发射器246
11.6.2 追踪多次射击248
11.7 无顺序集合251
11.7.1 字典基础251
11.7.2 字典操作252
11.7.3 示例程序:词频253
11.8 小结257
11.9 练习257
复习问题257
第 12章 面向对象设计262
学习目标262
12.1 OOD的过程262
12.2 案例研究:壁球模拟263
12.2.1 候选对象和方法264
12.2.2 实现SimStats265
12.2.3 实现RBallGame266
12.2.4 实现Player267
12.2.5 完整程序268
12.3 案例研究:骰子扑克270
12.3.1 程序规格说明271
12.3.2 识别候选对象271
12.3.3 实现模型272
12.3.4 基于文本的UI275
12.3.5 开发GUI277
12.4 OO概念282
12.4.1 封装282
12.4.2 多态283
12.4.3 继承283
12.5 小结284
12.6 练习285
复习问题285
第 13章 算法设计与递归287
学习目标287
13.1 查找287
13.1.1 简单的查找问题287
13.1.2 策略1:线性查找288
13.1.3 策略2:二分查找288
13.1.4 比较算法289
13.2 递归问题解决290
13.2.1 递归定义291
13.2.2 递归函数292
13.2.3 示例:字符串反转293
13.2.4 示例:重组词294
13.2.5 示例:快速指数295
13.2.6 示例:二分查找296
13.2.7 递归与迭代296
13.3 排序算法298
13.3.1 天真的排序:选择
排序298
13.3.2 分而治之:归并排序299
13.3.3 排序比较301
13.4 难题303
13.4.1 汉诺依塔303
13.4.2 停机问题306
13.4.3 结论308
13.5 小结308
13.6 练习309
复习问题309
附录A Python快速参考314
附录B 术语表323
作者简介
John Zelle是美国Wartburg大学数学和计算机系教授。他负责教授Python程序设计课程,并且结合多年的教学经验编写了本书,在美国高校受到普遍的欢迎。他还从事VR、AI等方面的研究,发表了一些机器学习方面的论文。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥69.3¥99.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8