文章目录
- 关于
- 基本介绍👋
- 新的问题
- 更好的解决方案
- Week7
- Mon Generators
- 阅读材料
- Lab 05: Iterators, Mutability
- Q1: WWPD: List-Mutation
- Q2: Insert Items
关于
个人博客,里面偶尔更新,最近比较忙。发一些总结的帖子和思考。
江湖有缘相见🤝。如果读者想和我交个朋友可以加我好友(见主页or个人博客),共同学习。笔者是学生,课业还是比较繁重的,可能回复不及时。笔者也正在四处寻找一些可以兼职锻炼知识并且补贴一些生活的工作,如果读者需要一些详细的辅导,或者帮助完成一些简易的lab也可以找我,笔者还是学生,自以为才学有限,也没有高价的理由📖。
基本介绍👋
CS61A是加州大学伯克利分校(UC Berkeley)计算机科学专业的入门课程,全名为Structure and Interpretation of Computer Programs。
这是入门的Python课程,因此这篇博客会默认读者没有很多的编程背景,讲的东西会比较基础,有编程经验的读者可以快速浏览。
首先贴上课程网址。
CS61A课程主页
新的问题
可以发现,cs61a归档了,而这个网站是需要Berkeley账号的,还是没法登录。这时候笔者决定使用档案馆网站,去翻网页的归档了。虽然有点难受,但是还能用orz。
对了,textbook是可以直接访问的,在这里
更好的解决方案
我在GitHub上找到了cs61a 2024 fall的归档,这里给出连接link
Week7
Mon Generators
阅读材料
Generator也是相当重要的概念,之前没怎么遇到过,学习起来也是抽象一些。
>>> def plus_minus(x): yield x yield -x
>>> t = plus_minus(3)
>>> next(t)
3
>>> next(t)
-3
>>> t
<generator object plus_minus ...
generator的函数不用return而是用yield,调用后返回一个generator对象,可以对其使用next,指向到下一个yield的元素。
这里调用第三次就到尽头了。generator特别适合那种无限生成的数列。比如斐波那契数列。
Lab 05: Iterators, Mutability
Q1: WWPD: List-Mutation
问答题。略。
Q2: Insert Items
在所有值为before的元素后面插入after。