COMP9021学习笔记
前言
2023T2,马丁教的。个人感觉这门课很水(倒也是好事(学费:?))。就是很基础的python,应该是为了方便转码的同学设置的。上课体验不是很好,教案也没有,上课纯马丁炫技。马丁也有法式口音,在家看Lecture Record会有更好的体验(自动字幕太猛了)。但是。马丁真的很负责,很晚也会回邮件回论坛的问题。所以我给他好评。
本地python环境安装
我用的Windows,Mac用户教不了(我没钱买)。个人建议无脑Anaconda。
-
点这里下载Anaconda
(安装过程要非常的久,有几步卡个十几分钟是正常的) -
安装完成后,在开始菜单找到Anaconda文件夹
-
单击Anaconda Navigator
-
在一阵弹窗过后选择JupiterLab,熟悉的窗口会自己弹出来了
-
没弹出来就自己在浏览器中输入 http://localhost:8888/lab
默认存储路径为C:\Users\$用户名\
.ipynb文件是马丁老师同款的python笔记本(我用来打草稿,Shift + Enter运行,也可以打断点调试,很好用)
.py是平时交作业用的格式,可以复制到Ed论坛试运行
平时作业注意冒号后的空格(
期末抱佛脚复习部分
我个人容易忘记的几句语法
- 单个文件读取
1 | with open('文件名.txt') as file: #默认当前路径 |
或者可以这样读取
1 | with open('文件名.txt') as file: #默认当前路径 |
如果文件是.csv的话
1 | with open('文件名.csv') as file: |
- 单个文件写入
1 | #首先要定义file_name和string是什么,可以直接用'字符串'的形式表示 |
- 多个文件读取
1 | from pathlib import Path |
- 浮点数
1 | float('-inf') #可以表示无穷小,在最值问题可能会用到 |
- class, def, self
这块知识在学期末尾教,要赶很多作业所以学的不是很好
(据说马丁教是不会考这类知识的,只能赌一手他不考
这里直接复制别人的笔记,,
1 | #类名要大写 |
类的使用
1 | # 初始化 |
- 字符串运算
1 | string.replace('字符串', '') #删除(替换)元素 |
考完更新
如下列分享有违规行为请立即联系dead.leaf.dance@gmail.com删除
线下期末中规中矩的考察,6道题都蛮简单的
题目都是英语,我这英语也不太行,应该就是这个意思(输入输出都是我自己编的
留意老师的备注,看清是return输出,还是print()输出
- 输入字符串,去除重复
1 | # 输入 aaaabbbbcccc |
- 伪高精度(我自己起的名字
设计一个函数(m, n)
默认 n = 1
m除了第一位,每位数字都和n相加,加完取最后一位输出
1 | # 输入 8 |
- 输出列表
给一个list_of_lists[[]]
然后表中表的长度不变,输出升序
1 | # 输入 [[]] |
- 输出字母金字塔
设计一个函数f(n)
1 | # 输入 1 |
- 匹配字典
考生目录里会有一个dictionary.txt(全大写)
输入一句话(首字母大写),这句话可能会有空格,感叹号,分号,问号,冒号…共6种标点符号
找出这句话中,在字典里没出现过的单词
按字母个数输出一句话 + 列表
列表前有4个空格
1 | # 输入 一句英文 |
- 经典grid
编样例太麻烦了我就不放了
题目里会随机生成一个里面是字母的grid,大小是dim * dim
输入一个字符串
找这个字符串在不在这个grid里面
可以横着找,竖着找,斜着找(对角线),三种方法。
只要有一个方法能行就输出True,三种都不行就输出False。