教材学习内容总结
本周学习了计算机语言从低级到高级:机器语言(用二进制表示)、汇编语言(加入了助记符)以及高级语言(更加具有可读性),了解了虚拟机Pep/8运行原理,并使用Pep/8完成了机器码和汇编语言的简单编程,更深入地了解到计算机系统运行的原理;知道了伪代码在编程时的重要性,并了解到伪代码不必拘泥于形式,而是要清楚表达目的以及实现过程;同时在调试程序时了解到了手动模拟程序的重要性:当边界值取值有问题时,不妨带入几个简单的数据,在运行程序前先动笔模拟计算机操作看会出现什么结果;了解了分支结构以及循环结构。
教材学习中的问题和解决过程
《自学是门手艺》第11章第3节中关于Python中lambda的官方文档的举例有点难以理解:
通过查找资料,动手模拟修改程序等方式,我发现了首先用列表变量名称的一部分可以代指整个变量,如上图中可用pair代替pairs,其实也可用p代替pairs;其次lambda表达式在此情况下返回的是列表中元素按第i+1个元素(为元组索引)排序的值,如图中就是按第二个元素大小排序;第三,若将pair[1]换成其他值如pair[0]或pair[-1]又会怎么样呢?通过调试,我发现如果索引值大于了元素个数-1就会报错,索引值小于0变回将其变成范围内的值(有几个元素索引值的范围就属于几元域)。
代码调试中的问题和解决过程
通过学习Switch语句,我发现了多种情况下其相对if语句的巨大优越性:条件不易重叠交叉,语句结构简单不冗杂,可读性强。
码云学习项目链接
https://gitee.com/tang_qi_heng/codes/1fyl8isw4rmqp7acz6gb952
https://gitee.com/tang_qi_heng/codes/fizm47bjycwlh1uak62x897
https://gitee.com/tang_qi_heng/codes/9xwur6bne4zykgfpt0mij90
上周考试错题总结
学习进度条
编程时间 25/109