注册 登录 进入教材巡展 进入在线书城
#
  • #

出版时间:2018年9月

出版社:清华大学出版社

以下为《编程导论——以Python为舟》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 清华大学出版社
  • 9787302505976
  • 1-1
  • 226938
  • 47191081-0
  • 平装
  • 2018年9月
  • 工学
  • 软件工程
  • TP311.561
  • 计算机
  • 本科
内容简介
本书以大量的编程实例与作者多年编程实践的体会来揭示编程的本质,系统性地指导读者如何编程。书中所有代码都用Python语言编写,通过编程实例讲解Python语言的所有知识点,使读者在掌握编程思维和技巧(逻辑思维能力、计划构建能力、循环计算能力、递归求解能力等)的同时,自然而然地熟练掌握Python语言。本书既适合作为“程序设计基础”“编程导论”“Python语言程序设计”等课程的教材,也适合参加编程竞赛的、自学Python编程的中学生、大中专学生、程序员及普通读者参考。
目录
目录第1章初探编程之境1.1计算机编程的基本概念1.1.1编程如何解决问题1.1.2解决鸡兔同笼问题的编程思维1.1.3解决排序与合并问题的编程思维1.1.4解决过河问题的编程思维1.1.5程序的基本要素1.2乘Python之舟进入计算机语言的世界1.2.1什么是Python1.2.2如何在Windows中使用Python1.3解释a=a 31.3.1介绍变量1.3.2关于a=a 31.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.3for与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.3list、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.3AB猜数字游戏6.424点游戏6.5最后拿牌就输习题第7章面向对象编程与小乌龟画图7.1初识面向对象编程7.1.1什么是对象7.1.2体会面向对象编程的优势7.2面向对象中的概念7.2.1类与对象7.2.2Python中的__init__()方法7.2.3self变量和pass关键字7.2.4Python中“公有”和“私有”类型的定义方式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最短路径问题习题参考文献