Python程序设计课程主页(2020年秋季学期)
Teacher: 李正华
Teaching Assistant: 周厚全、刘泽洋、周仕林
上课时间和地点、QQ群
周一13:30-15:20卫校301;
周五13:30-15:20理工楼153
周二13:30-15:20理工楼238、247(上机);
python-2020学习交流qq群:893402501
考试安排
第一次考试:11.11(周三),考试内容:基础、分支、列表、循环
第二次考试:12月
第三次考试(期末):1月
Mooc混合式教学
中国大学慕课 Python程序设计 苏州大学 朱晓旭等
请同学们同步学习这个网课。
理论课上,我会留一些时间,来针对网课的内容进行讲解、答疑。
参考资料
何俊老师的Python课程教学网站
实验课安排(有问题多主动问,Python不是教会的,而是不断动手、思考学会的)
实验报告说明
实验报告由两部分组成:
实验报告:学号-exp-x.pdf (x表示第几次实验)
注意文件命名格式,必须用pdf文件
包含题目、流程图、解题思路、运行结果截图、遇到什么问题及如何解决的、总结有哪些收获、对老师的建议
每次会提供一个基本的实验模板,学生按照自己的方式去安排报告的内容
每一个题目,强烈建议都先画流程图,然后写代码。可以手画流程图然后拍照,也可以用画图软件去画。
代码:学号-exp-x.py
把所有题目的代码放到一个py文件中
注意可读性,方便老师批改,可以写一些必须的注释
注意事项:
抄袭会严惩!当次实验成绩清0!
除了基本的题目,还可以额外做老师在课堂上提出的思考题、扩展题。
根据认真程度、完成的质量、可读性等,来综合评分
每次作业批改后,会在理论课或上机课上进行讲解,重点是讲大家常见的错误。
往年的习题集:
扩展题目(选做,可以放到实验报告中)
2020.10.15:把求平方根的代码,扩展为x为任何大于0的浮点数。注意一定要先画流程图
实验课常见问题
第一次实验报告 2020.10.20
截止时间:
报告模板(含基本题目):
讲义记录
TODO
注释、input(prompt)、print(end)、random模块的使用
python的特点
字符串对象str(不可变)
print(3, sep='#', end='abc')
help(print) # 查看帮助文件
ord('a') # 字符对应的ASCII码(American standard code for information interchange)
chr(97) # 返回与ASCII码对应的字符
hex(1) # 十六进制
bin(255) # 二进制
不可变对象immutable、可变对象mutable
2020.10.19 zyliu
2020.10.19 第三次Python课
第一次考试:11.11 Wednesday 晚上 两小时
考试内容:基础 循环 列表 分支
Python的基础:
python(作为语言)和英语作对比,
字符:大小写字母;数字;#’’...
单词:keywords:while; def;函数名;变量名;数字;字符串。和英语语言不一样,单词可以不符合英语字典里的单词,比如'_a123'对于python也是合法的变量名
句子:statement vs sentence
段落:复合语句,文件,包 vs 节,章,篇,书
语法:非常严格(格式和语法都很严格) vs 比较随意
程序语言和英语哪个难?当然是英语,程序语言有唯一语义。
语句 (statement):
简单语句:
1. 赋值语句assignment:把一个对象(object)绑定(binding)到一个名字(name, 标识符, identifier)上。
例如:x = 7→把整数对象绑定在了x上。
注:object是内存中实际存在的东西,有4个属性(attribute):
id (identity,地址);
类型 (数据类型,类名,type,class);
数据值/内容;
方法 (method / function) (主要是class类中,详情见后面章节)。
程序执行过程中,不会有重名。
2. 函数调用:
内嵌函数 (build-in):print;abs;help;...。无需引入“包”即可使用,python默认提供。
import math:math.sqrt(); math.pow(); math.log(); ...
3. import:把一个包引入到当前文件。
4. 算数运算(Arithmetic):加 + ;减 - ;乘 * ;除 / ;整除 // ;余数 %
5. 关系运算(Relational):数字或字符串比大小,小于 < ;大于 > ;等于 == ;不等于 != 。返回bool型,即True & False。
6. 逻辑运算(Logical Operation):and ;or ;not。
例如:3>2 and 2<1。
注:逻辑运算符号的两边不一定要是bool型,返回的结果也不一定是bool型,请自行测试学习。
注:运算注意object的type类型;注意算术符优先级;字符串比大小有个字母序(alphabetic)。
复杂语句:函数定义;while;if-else;类定义;...
2020.10.19
内置函数built-in function
print(3) # 输出到屏幕上
abs
help
对象Object,面向对象编程
对象的属性:type id data_value methods (function)
语句的概念:
赋值语句、算术、关系、逻辑、工厂函数调用
赋值语句:将变量名和对象binding在一起,或者可以理解为将变量名指向对象
总结一下:简单语句和复合语句(循环、选择、函数定义、类的定义)
2020.10.16
计算机组成
冯诺依曼架构
A processing unit that contains an arithmetic logic unit and processor registers (ALU)
A control unit that contains an instruction register and program counter (CU)
Memory that stores data and instructions
External mass storage
Input and output mechanisms
https://en.wikipedia.org/wiki/Von_Neumann_architecture
https://zh.wikipedia.org/zh-hans/%E5%86%AF%C2%B7%E8%AF%BA%E4%BC%8A%E6%9B%BC%E7%BB%93%E6%9E%84
https://www.baidu.com/link?url=WUyrwd9zkEs6eVKyVR9Emg4_pkDsGxJLyrcixtszhapi6XO92QXBlbW-B8f_6dooqxiExzUKir5bCoZhZNvNefxSPO5WSIsI_E-lM2XUgSp5i2i7WY0Ip7tTSwXuy4rEsgtrYO5HOAHElbzI0P1O2mdy-jz9K4-Dx_xvd01rImKxbfrOKyOE4O7cW5U-94xh3XOvQK-8qcWUmN_EnFy2NqauxvnNXHKwWbYN9ZW5JKl8MgTi_HkZ7c6LG75yQ58UZ49MAY98NtbDAVCUXAPruPeO81ozIt36bB1jZOZRQw2PpFK7VV5euTIWOs68_D-i&wd=&eqid=e2294df70000e186000000045f7fd18c
数据和算法
计算 数据
流程图、伪代码:平方根
2020.10.12
自我介绍
演示几个平台
对同学的摸底,能力强的同学,不妨做我的基础编程练习,由简入繁,不断积累
几点建议:
计算机英语很重要(1000左右单词),有助于理解和记忆;
逻辑思维能力很重要,从流程图(或伪代码)锻炼起;
多动手、多练习、多思考、多尝试,才能学好编程;
编程只是计算机科学与技术这门学科的最基本能力。要想成为顶尖的编程高手,必须对计算机的硬件、操作系统、数据结构、算法等基础理论理解透彻,所以要长期坚持,不断提高自己的计算机素养和基础。
课程介绍(过程化课程)
课堂提问、上机实验(代码和报告)、期中、期末多次考试