## Python程序设计(Python Programming: Basic)Course Resources --- ##### Teacher: [李正华](http://hlt.suda.edu.cn/~zhli/) ##### Teach Assistant: [龚晨](http://hlt.suda.edu.cn/gongchen/)、[夏庆荣](http://hlt.suda.edu.cn/kiro/) ##### 2017秋季学期,计算机学院大一本科生 ##### 上课时间和地点: - 周三10:10-12:00东教楼403上理论课; - 周四13:30-15:20东教楼403上理论课; - 周五8:00-9:50理工楼238/247上机课(注意上机时要选对操作系统:Developement或VM) ##### 考试示例答案: - 期中考试示例答案: - [示例答案1](../file/exam.py) - [示例答案1升级版](../file/exam_simplify.py) - 期中考试成绩: - [期中考试成绩](../file/python-middle-score.jpg) - 期末考试成绩: - [期末考试成绩](../file/Final.png) ##### 作业提交的相关要求: - 提交作业的网址: - [csteaching](http://csteaching.suda.edu.cn),注意需要使用校内网 - 作业的内容和格式: - 每一章的实验报告+zip压缩文件 - zip压缩文件包括每一章的所有py程序文件,可以选择放到一个文件夹中 - 作业提交的时间: - 第一、二章作业:11月3号之前(不包括11月3号) - 第三、四章作业:11月16号之前(不包括11月16号) - 第六、七章作业:11月30号之前(不包括11月30号) - 第八章作业:12月13号之前(不包括12月13号) - 第九章作业:12月20号之前(不包括12月20号) - 第五章作业:12月27号之前(不包括12月27号) --- [李老师python课程录播视频链接](http://opencourse.suda.edu.cn/VIEWGOOD/Pc/themes/default/Prog.aspx?id=2933) [MIT公开课的百度云分享链接](http://pan.baidu.com/s/1o8Bkjn8) [Python和C语言的区别](https://pan.baidu.com/s/1plz4CT4-JIBRHuMwMTt1Tw) 密码: phqu [作业习题集](http://note.youdao.com/noteshare?id=39470bfca639d66594f1969afc2567f1) --- ##### 李老师的一些体会: - 计算机英语很重要(1000左右单词),有助于理解和记忆; - 逻辑思维能力很重要,从流程图(或伪代码)锻炼起; - 多动手、多练习、多思考、多尝试,才能学好编程; - 编程只是计算机科学与技术这门学科的最基本能力。要想成为顶尖的编程高手,必须对计算机的硬件、操作系统、数据结构、算法等基础理论理解透彻,所以要长期坚持,不断提高自己的计算机素养和基础。 --- ##### Course 1(2017.9.27) - 什么是计算? - 计算机基于一些基本运算primitive,通过一些计算方法(算法),求解复杂问题的解。 - 给出了一个sqrt(x)的简单算法,通过迭代,不断逼近正解(联想数学上的极限) - 计算机的基本知识: - 位、字节 - 浮点数(floating-point number,又称为小数,即real number)由8个字节存储,无法精确表示所有数字 - 流程图(伪代码的重要性) --- ##### Course 2(2017.9.28) [课堂笔记链接](http://note.youdao.com/noteshare?id=828b637ef7ff73a51dd26c1bc59be3e9) - sqrt(x)算法及其伪代码、流程图(入口、出口、条件判断、循环) - 计算机的基本原理: - 磁盘:可以把写好的程序以文件形式存到磁盘中,将来打开修改,或者执行 - 内存:程序执行时,代码和变量(对象,数据)都存储在内存中(从磁盘导入) - CPU:CU 控制代码一步一步执行,一次一个基本操作;ALU:对内存中对象进行算术或逻辑运算,结果存到内存。逻辑运算(once in a while)的结果会影响CU中的program counter,即影响代码的执行顺序 --- ##### Course 3(2017.9.30) [课堂笔记链接](http://note.youdao.com/noteshare?id=8c10e0dd7d3d3f16e2cc48e48e9ea541) - 语句(statement) - 简单语句 - 复杂语句 - 对象(object):包括数据(data)成员和动作(method)成员 - 类型: 1. 标量Scalar(integer, floating-point number, boolean) 2. 矢量Non-Scalar(字符串string) - 三个属性:类型type,身份identity,值value - 不可变对象immutable、可变对象mutable - 赋值语句、算术运算、关系运算、逻辑运算、工厂函数 - 赋值语句:将变量名和对象binding在一起,或者可以理解为将变量名指向对象 - 字符串对象str(不可变) --- ##### Course 4(2017.10.11) [课堂笔记链接](http://note.youdao.com/noteshare?id=68e848d41b6b664e9f52b44945a9afcb) - 内置函数 - 字符串、特殊字符 - 重载操作符、成员操作符 --- ##### Course 5(2017.10.12) [课堂笔记链接](http://note.youdao.com/noteshare?id=e1d5d0a73ac499c8999f3aeda32b3d05) - 字符串 - 字符串格式化 - 字符串方法 --- ##### Course 6(2017.10.18) [课堂笔记链接](http://note.youdao.com/noteshare?id=5b9a7e41e29d5536fcac70f099ff2aff) - 选择 - 循环 --- ##### Course 7(2017.10.19) [课堂笔记链接](http://note.youdao.com/noteshare?id=0b5b6f5115cb2606d4f2636609e819bc) - 循环 - 元组 - 列表 --- ##### Course 8(2017.10.25) [课堂笔记链接](http://note.youdao.com/noteshare?id=5e17d65bef1be52d0c2dc40cc67c4903) - 元组 - 列表 --- ##### Course 9(2017.10.26) [课堂笔记链接](http://note.youdao.com/noteshare?id=519e1b770750d2817a37acd144e7c367) - 列表 --- ##### Course 10(2017.11.1) [课堂笔记链接](http://note.youdao.com/noteshare?id=e74a7accf3aa289bb44548e5e5cb8076) - 列表的方法 - 冒泡排序 --- ##### Course 11(2017.11.2) [课堂笔记链接](http://note.youdao.com/noteshare?id=4fcb12435f909636a7f9d3ee426f2035) - 字典 --- ##### Course 12(2017.11.8) [课堂笔记链接](http://note.youdao.com/noteshare?id=102408978b54008831e7372dea7d5296) - 字典 - 函数 --- ##### Course 13(2017.11.9) [课堂笔记链接](http://note.youdao.com/noteshare?id=52324d5c999c8d665e99d42608f666ea) - 函数 --- ##### Course 14(2017.11.15) [课堂笔记链接](http://note.youdao.com/noteshare?id=65e5043c1e116e6471ed1a6738ba4f59) - 函数 --- ##### Course 15(2017.11.16) [课堂笔记链接](http://note.youdao.com/noteshare?id=dd959db426f13f16ed89c7422f26dff8) - 递归函数 - 匿名函数 --- ##### Course 16(2017.11.22) [课堂笔记链接](http://note.youdao.com/noteshare?id=23b1b413ee67bc774f5cc1160ae36d3f) - 集合 - 文件 --- ##### Course 17(2017.11.23) [课堂笔记链接](http://note.youdao.com/noteshare?id=ea4384ccf2c560d6f42e2b2519eefc3b) - 期中考试试卷分析(详情请查看课程视频) - 文件 --- ##### Course 18(2017.12.7) [课堂笔记链接](http://note.youdao.com/noteshare?id=4663e819a5e020aee1c513b2a275436b) - 文件 --- ##### Course 19(2017.12.8) [课堂笔记链接](http://note.youdao.com/noteshare?id=fbc706d60a47fe3e96a8230f8215d9de) - 文件 - 模块 --- ##### Course 20(2017.12.13) [课堂笔记链接](http://note.youdao.com/noteshare?id=9796b107aa34f3850ce8d32d07357b2f) - 浅拷贝和深拷贝 - 模块 - eval函数 --- ##### Course 21(2017.12.14) [课堂笔记链接](http://note.youdao.com/noteshare?id=5b5b2cfc41332a6ec02fe1f750811b59) - 正则表达式 --- ##### Course 22(2017.12.20) [课堂笔记链接](http://note.youdao.com/noteshare?id=3376c983461d2f3df1bcb62d017db3ef) - 正则表达式 --- ##### Course 23(2017.12.21) [课堂笔记链接](http://note.youdao.com/noteshare?id=cfa3ac29d7051edc0f470707951dac78) - 正则表达式 - 函数 --- ##### Course 24(2017.12.27) [课堂笔记链接](http://note.youdao.com/noteshare?id=99dd8f83e0d3e0c5e9d686c9de46ebde) - 异常 --- ##### Course 25(2017.12.28) [课堂笔记链接](http://note.youdao.com/noteshare?id=546939369c16ebef98a8baa974ef814f) - 类