
0人評分過此書
本書以大量的編程實例與作者多年編程實踐的體會來揭示編程的本質,系統性地指導讀者如何編程。書中所有代碼都用Python語言編寫,通過編程實例講解Python語言的所有知識點,使讀者在掌握編程思維和技巧(邏輯思維能力、計劃構建能力、循環計算能力、遞歸求解能力等)的同時,自然而然地熟練掌握Python語言。 本書既適合作為“程序設計基礎”“編程導論”“Python語言程序設計”等課程的教材,也適合參加編程競賽的、自學Python編程的中學生、大中專學生、程序員及普通讀者參考。
- 封面页
- 书名页
- 版权页
- 内容简介
- 作者简介
- 前言 foreword
- 目录
-
第1章 初探编程之境
-
1.1 计算机编程的基本概念
-
1.1.1 编程如何解决问题
-
1.1.2 解决鸡兔同笼问题的编程思维
-
1.1.3 解决排序与合并问题的编程思维
-
1.1.4 解决过河问题的编程思维
-
1.1.5 程序的基本要素
-
-
1.2 乘Python之舟进入计算机语言的世界
-
1.2.1 什么是Python
-
1.2.2 如何在Windows中使用Python
-
-
1.3 解释a=a+3
-
1.3.1 介绍变量
-
1.3.2 关于a=a+3
-
1.3.3 常用算术运算符
-
-
1.4 介绍数据类型
-
1.4.1 布尔类型
-
1.4.2 列表
-
1.4.3 字符串
-
-
1.5 学习Python的控制语句
-
1.5.1 条件控制语句——if语句
-
1.5.2 循环控制语句——for循环
-
1.5.3 循环控制语句——while循环
-
-
习题
-
-
第2章 巩固编程基础
-
2.1 再谈Python的循环控制语句
-
2.1.1 遍历加积累的循环结构
-
2.1.2 以不同编程方式解决相同问题
-
2.1.3 for与while循环的比较
-
2.1.4 中国余数定理的循环实现
-
-
2.2 函数的简介
-
2.2.1 什么是函数
-
2.2.2 函数的创建与调用
-
2.2.3 几种常用的内置函数
-
-
2.3 探讨编程思路
-
2.3.1 以多项式运算为例
-
2.3.2 编程思路的总结
-
-
2.4 讨论循环中的一些技巧
-
2.4.1 讨论“for i in range():”结构
-
2.4.2 讨论“for e in L:”结构,L为一个列表
-
-
2.5 活学活用——运行Python解决问题
-
2.5.1 几种简单的排序算法及衍生问题
-
2.5.2 二进制、十进制等进制之间的转换问题
-
2.5.3 扑克牌游戏——21点
-
2.5.4 老虎机游戏
-
-
习题
-
-
第3章 深谈Python函数、变量与输入输出
-
3.1 深入了解函数的各种性质
-
3.1.1 编写完美函数
-
3.1.2 参数与返回值
-
3.1.3 局部变量与全局变量
-
3.1.4 嵌套函数
-
3.1.5 参数类型
-
-
3.2 再谈序列与字典数据类型
-
3.2.1 列表与元组
-
3.2.2 字符串
-
3.2.3 字典
-
-
3.3 关于Python数据类型的注意事项
-
3.3.1 可变与不可变类型的讨论
-
3.3.2 参数的传递问题
-
3.3.3 默认参数的传递问题(可选)
-
-
3.4 深入探讨列表的常用操作与开销
-
3.4.1 添加列表元素的讨论
-
3.4.2 删除列表元素的讨论
-
3.4.3 生成列表的一些技巧
-
-
3.5 输入输出、文件操作与异常处理
-
3.5.1 输入
-
3.5.2 输出
-
3.5.3 文件操作
-
3.5.4 异常处理
-
-
习题
-
-
第4章 探究递归求解的思维方式
-
4.1 理解递归求解的思维方式
-
4.1.1 递归的基本思路
-
4.1.2 递归求解的例子
-
-
4.2 用递归方式重温例题
-
4.2.1 递归实现数列求和
-
4.2.2 递归实现归并
-
4.2.3 递归求解因数分解
-
-
4.3 list、string内置函数的非递归与递归实现
-
4.3.1 列表内置函数的实现
-
4.3.2 字符串内置函数的实现
-
-
4.4 四种不同的递归方式来解决排序问题
-
4.4.1 选择排序
-
4.4.2 插入排序
-
4.4.3 快速排序
-
4.4.4 归并排序
-
4.4.5 四种排序方式的比较
-
-
习题
-
-
第5章 熟练递归编程
-
5.1 二分法求解问题
-
5.1.1 什么是二分法
-
5.1.2 在有序序列中使用二分法查找元素位置
-
5.1.3 求解算术平方根
-
-
5.2 求两个数的最大公因数
-
5.2.1 因数分解法求最大公因数
-
5.2.2 欧几里得算法求最大公因数
-
5.2.3 讨论因数分解法与欧几里得算法的优劣
-
-
5.3 中国余数定理问题
-
5.3.1 介绍相关的基础知识
-
5.3.2 中国余数定理问题的求解
-
-
5.4 关于递归函数开销的讨论
-
5.4.1 函数调用的开销
-
5.4.2 参数传递过程中的开销
-
5.4.3 重复计算的开销
-
-
5.5 用递归思维解决线性方程组问题
-
5.6 用各种编程方式解决排列问题
-
5.6.1 全排列问题
-
5.6.2 通用排列问题
-
-
5.7 用各种编程方式解决组合问题
-
5.7.1 在排列问题的解法上解决组合问题(解法一)
-
5.7.2 非递归方式解决组合问题(解法二)
-
5.7.3 特殊二分方式解决组合问题(解法三)
-
5.7.4 循环递归方式解决组合问题(解法四)
-
-
习题
-
-
第6章 智能是计算出来的
-
6.1 老鼠走迷宫问题
-
6.2 菜鸡狼过河问题
-
6.3 AB猜数字游戏
-
6.4 24点游戏
-
6.5 最后拿牌就输
-
习题
-
-
第7章 面向对象编程与小乌龟画图
-
7.1 初识面向对象编程
-
7.1.1 什么是对象
-
7.1.2 体会面向对象编程的优势
-
-
7.2 面向对象中的概念
-
7.2.1 类与对象
-
7.2.2 Python中的__init__()方法
-
7.2.3 self变量和pass关键字
-
7.2.4 Python中“公有”和“私有”类型的定义方式
-
-
7.3 了解面向对象的三大特性
-
7.3.1 封装
-
7.3.2 继承
-
7.3.3 多态
-
-
7.4 初识小乌龟
-
7.4.1 小乌龟的属性
-
7.4.2 基本图形的绘制
-
7.4.3 递归图形的绘制
-
-
7.5 多个小乌龟的动图绘制
-
7.5.1 过河游戏
-
7.5.2 小老鼠走迷宫
-
-
习题
-
-
第8章 掌握编程的精华——算法
-
8.1 深入浅出之算法
-
8.1.1 算法时间复杂度分析
-
8.1.2 图的基本介绍
-
-
8.2 深度优先搜索
-
8.2.1 何为深搜
-
8.2.2 图的深搜
-
8.2.3 拓扑排序问题
-
8.2.4 一个有趣的迷宫例子
-
-
8.3 最短路径问题
-
8.3.1 有向无环图的最短路径问题
-
8.3.2 权值非负的有环图的最短路径问题
-
-
8.4 动态规划算法
-
8.4.1 拦截导弹问题
-
8.4.2 背包问题
-
8.4.3 最短路径问题
-
-
习题
-
- 参考文献
- 图书资源支持
- 出版地 : 中國大陸
- 語言 : 簡體中文
評分與評論
請登入後再留言與評分