CS61A是美国伯克利分校给他们大一相关专业学生的一门必修课,可谓是神课
从开始学习到CS61A的第一周,我开始深刻感受到这门课和我们随便在B站或者知乎上看到的视频教程完全不同。以往的学习编程视频教程,就是录了一大堆然而都是一个一个语法进行介绍,系统学习好像也没什么不妥,但是看完发现好像并没有学到什么,而且还花费了很多的时间。然而,上CS61A给我的感受就是无处不动手,无处不实践。

即使是我已经会python的基本语法知识,这门课的学习还是让我觉得有些吃力,学的第二天就让学生写一个Hog(掷骰子)的小游戏,国内基本没有这样的教学模式。相信只要能够坚持上完这门课,对你的编程能力一定是质的飞跃。

课程的话可以在B站找到Spring2018版本的,不过是英文字幕,是时候逼逼自己练英语听力了。这门课程还提供了作业网址,也不需要你翻墙就可以实现基本完整的学习。

下面是我在CS61A做的第一个工程 HOG:

涉及的知识点记录一下:

高阶函数:

之前从来没见过这种骚操作,在函数里面嵌套函数,再在外层函数返回构成闭包。

例子就拿我在工程中遇到的举:

def announce_highest(who, previous_high = 0, previous_score = 0) :"""Return a commentary function that announces when WHO's scoreincreases by more than ever before in the game.>> > f0 = announce_highest(1) # Only announce Player 1 score gains>> > f1 = f0(11, 0)>> > f2 = f1(11, 1)1 point!That's the biggest gain yet for Player 1>> > f3 = f2(20, 1)>> > f4 = f3(5, 20) # Player 1 gets 4 points, then Swine Swap applies19 points!That's the biggest gain yet for Player 1>> > f5 = f4(20, 40) # Player 0 gets 35 points, then Swine Swap applies20 points!That's the biggest gain yet for Player 1>> > f6 = f5(20, 55) # Player 1 gets 15 points; not enough for a new high"""assert who == 0 or who == 1, 'The who argument should indicate a player.'# BEGIN PROBLEM 7"*** YOUR CODE HERE ***"def say(score0, score1) :#判断玩家if not who :
score = score0else:
score = score1
#记录本次差值
sub = score - previous_score
if sub > previous_high:
if sub == 1 :print(sub, "point! That's the biggest gain yet for Player", who)
else :print(sub, "points! That's the biggest gain yet for Player", who)return announce_highest(who, sub, score)
else:
return announce_highest(who, previous_high, score)
return say
# END PROBLEM 7

益智游戏,可以玩一下

最近没那么多时间发博客了,先继续刷这门课吧!

希望对读者有所帮助,喜欢的话可以关注一下我的公众号,我会把学习笔记发在上面,大家可以一起共同学习!

我想向你们推荐一门最好的python课程——CS61A学习笔记(一)相关推荐

  1. Haxe是一门新兴的开源编程语言--Haxe学习笔记(一) Haxe:一次编码全平台编译的神话

    全功能API!开源2D游戏引擎Firmament-haxe 简介编辑 Haxe是一门新兴的开源编程语言,开发者称:"相比其他语言(Java的平台是 JVM,C#的平台是.Net,Action ...

  2. python优秀网友学习笔记推荐

    AstralWind Mr.Seven 转载于:https://www.cnblogs.com/migongci0412/p/5154892.html

  3. 推荐一门边开车边赚钱的小生意跟游戏推广有关

    这段时间以来,随着疫情的爆发,各类物价都飞速上涨,不少人都心生找个副业另外赚取一份收入的想法.今天,笔者给大家推荐一门可以边开车边赚钱的小生意,跟游戏推广有关,它就是游戏代理. 一.为什么是游戏代理 ...

  4. python编程入门书籍推荐-给刚入门python的朋友推荐几本书

    给刚入门python的朋友推荐几本书 1.python编程 从入门到实践 本书是一本针对所有层次的Python读者而作的Python入门书.全书分两部分:首部分介绍用Python 编程所必须了解的基本 ...

  5. 自学python网站推荐-给初学者推荐的10个Python免费学习网站!赶紧收藏吧!

    如今,Python 已经成为一种再主流不过的编程语言了.它天生丽质,易于读写,非常实用,从而赢得了广泛的群众基础,被誉为"宇宙最好的编程语言",被无数程序员热烈追捧.许多程序员都把 ...

  6. 免费python自学攻略-给初学者推荐的10个Python免费学习网站!赶紧收藏吧!

    如今,Python 已经成为一种再主流不过的编程语言了.它天生丽质,易于读写,非常实用,从而赢得了广泛的群众基础,被誉为"宇宙最好的编程语言",被无数程序员热烈追捧.许多程序员都把 ...

  7. 给初学者推荐的10个Python免费学习网站,赶紧收藏吧

    Python 已经成为一种再主流不过的编程语言了.许多同学开始学习它,又不知道该如何入手,今天呢,我九个打击加推荐几个免费学习网站,大家赶紧码起来吧! 1.Learn Python The Hard ...

  8. 给初学者推荐的10个Python免费学习网站!赶紧收藏吧!

    前言 嗨,大家好 这里是住隔壁的王叔 Python 已经成为一种再主流不过的编程语言了.许多同学开始学习它,又不知道该如何入手,今天呢,我九个打击加推荐几个免费学习网站,大家赶紧码起来吧! 1. Le ...

  9. 给零基础初学者推荐的10个Python免费学习网站,赶快收藏

    前言 Python 已经成为一种再主流不过的编程语言了.许多同学开始学习它,又不知道该如何入手,今天呢,我九个打击加推荐几个免费学习网站,大家赶紧码起来吧! 1.Learn Python The Ha ...

  10. 奉劝想把编程学好的学弟们 · 如何高效学习编程?

    大家好,我是安然无虞. 目录 一.毕业想成为程序员,现在该怎么学? 1.IT行业是不是值得进入? 2.想做研发工作,该学习什么? 二.怎么学,有方法吗? 1.入门攻略 怎么学好C语言 使用C语言写一些 ...

最新文章

  1. 一个JQuery发送ajax请求
  2. html滚动条样式自定义,CSS3自定义滚动条样式
  3. 笨办法学python3-笨方法学Python3(21-44)
  4. 如何用html绘制阴影图形,HTML5 给图形绘制阴影
  5. 神经网络 mse一直不变_干货RBF神经网络在财务报表舞弊识别中的应用
  6. (二)操作系统设计技术知识重点笔记
  7. 漫画:Bitmap算法 整合版
  8. linux 进程 读写锁,linux 下实现高性能读写锁(read/write lock)
  9. 在keil uVision 2/uVision 3下使用伟福系列仿真器的方法:
  10. python 帮助教师_花10分钟写一个Python脚本,搞定了初中老师一下午的工作
  11. python学习笔记第三节
  12. 学以致用------韩顺平老师说(如果不能学以致用,那就是白费。等于没学。贪多嚼不烂。)---无内容...
  13. ISAKMP主模式分析二
  14. 小学生python游戏编程5----拼图游戏继
  15. React 引入阿里矢量图标方法
  16. Microsoft visual studio关闭安全检查的几种方法(2015/2017)
  17. 高等数学:求“分段函数在分段点”的导数,可以直接用导数公式吗?
  18. ArcGIS的栅格数据空间分析——栅格插值(1)
  19. Java EE基础练习题
  20. 2022寒假day3

热门文章

  1. 国外量化投资的经典案例
  2. PC蓝牙加串口调试助手调试蓝牙设备
  3. mysql定时备份脚本
  4. Roboware Studio 下载
  5. VSCode安装LeetCode插件
  6. python自回归_自回归模型(AR )
  7. Oracle cmd sqlplus 命令
  8. LTE中QPSK、16QAM、64QAM什么意思?有什么区别,分别在什么情况下占用呢?
  9. OpenCV下载/OpenCV国内镜像/opencv_contrib下载
  10. 【单片机项目实训】51单片机电子秤(语音播报版)