作业目标:1.自学教材《计算机科学概论》第四章、第五章

2.《看漫画学python》第四章 

教材内容学习总结

学习了计算机科学概论第四章后:早在高中的物理课上,我们就已经初步普及了与或非门的知识,让我感到革新的是除了高中老师所说的这三种门外,在计算机的运用中还存在异或门,与非门,或非门这几种门,原理基本上也差不多,就是应用不同罢了,但是对于更多输入的门里,由于其本质相同,原理并不复杂,但是其输入的方式却有了更多。主要的新知识是电路实为门组成的,而且在合理的运用布尔代数中,其可以满足各种运算定理。

学习了计算机科学概论第五章后:第一节就为我们普及了基本的计算机信息,现在想起要是早点能看到,也许当时买电脑就不会吃这麽大的亏,为我普及了许多关于电脑基本配置信息的知识。本章节主要为介绍计算机各种体系与其基础的内容,让我知道:冯 诺伊曼体系结构仍为大多数计算机的底层体系结构。RAM和ROM为两种重要的计算机内存,一个用于随机存取,另一个则为只读,他们也有是否允许更改的区别。二级储存设备是在计算机不运行是保存数据的重要设备,就算是当今的触摸屏也分有许多钟不同的原理设计的。

学习了看漫画学Python第四章后:给我普及了许多种运算符,通过比较运算符可以设计许多有意思的小回答,但是逻辑运算符中的或与非的短路设计虽说为计算机减少了许多运算,但是如果在可以设计程序时,也便不得不考虑到他是否存在一种绕过比较的可能性,本章的最后一节记忆程度要求高,量大,优先级的管理极为冗杂,仅仅是运算符就分为五大类,而且各类运算符中下辖多个符号,然而这些符号的优先度还并不一样,这大大提升了记忆的难度,然而,也正是因为这细化的要求,使得其准确性高,不会出现各类相互越级的乱象。

教材学习中的问题和解决过程

问题1:经过长时间的代码输入,=为什么不能在比较时直接使用,而是要使用==呢?(因为我经常打错)

解决方案:在百度上搜索,我发现=是偏向于一种赋值的符号,用于下定义的,然而==就是十分纯粹的比较是否等于的符号

 

 

问题2:在描述位运算符时,其所说的高位与低位是什么东西?

解决过程:在百度上搜索,得到回答为“例如0000 0000 0000 0000,这十六个位置中前八个就是高位,后八个是低位。”但是这不能很好的解决问题,因为在x与y位移时,其开头的0应为符号位,不一定全是0,于是选择去哔哩哔哩跟网课,发现我所运用的8位实际上只是电脑里64位里的后几位展示而已,这样一来,便可理解为什么其补位为0

代码调试中的问题

问题1:在完成使用python编码加密base64与解密时,发现我所使用的方法在编码自己姓名,解码自己姓名时生成得到了乱码。即为什么输出中文会导致乱码的形成?

解答过程:去B站寻找视频发现该平台对于base64的极少,而且没有介绍相关类似情况,在博客园寻找了到,介绍是因为本台电脑的格式与其解码格式不同,不好显示出来。但由于只有寥寥数语,;理解难度过高,不知如何下手,但是在CSDN上有一篇正对于此的报告,我根据他的行动一步步该出错误,转换了编码格式,将(‘utf8’改成‘gbk’)最后得到了新的乱码?暂时搁置

问题2:对于选做的罗马数字转化成阿拉伯数字中,相同的分隔**********将阿拉伯数字转化为罗马数字**********这个在两个编码过程中取得了一个正确一个错误?

解答过程:网上对于该项选做作业的内部分析基本上没有,只有一个模板,于是我在博客园中去查找了内部多个符号的意义,在经过室友调试后,基本问题应该为在第一个编码过程中,未给予其一个明确的函数定义,从而导致其发生”你的意思是是否要执行***********将阿拉伯数字转化为罗马数字*********“的报错。只要给予下面程序一个指令即可解决该问题。

 

 

 

 

 

 

 代码托管

 

 

 

 

于是,我有个大胆的猜想,既然课本上说与或非门都具有这种判断方法,但是它只演示了与门的方法,我可不可以通过自己来编写验证一下或门与非门的方法的可行性呢?

于是,在保持上面函数不变的基础上,我将其判断类型进行了改变,并且验证了def的输出结果的更改是否为可行的

 

 通过自己的验证,其结果确实如我想的一样,此三门在这个判断基础上实为可行!

其他

本周的学习,除了课本上的实验与知识基础偏易懂外,云班课里的作业难度很高,其主要原因在于没有系统的指导,完全处于一种盲人摸象的过河实验,给我的自学提供了很高的难度,就目前来说,确实完成了base64的编码,但是,在这一小小的工作上,我绝不止投入了5小时,通过B站上网课的学习只了解了base64的理论基础,没有关于实际操手的演示视频,再选择在博客园与CSDN上寻找,除去失败的方案与未践行的,我已经发现了至少三种在Python上编码与解码的方法,三种方法大同小异,出于时间我只学习了一种,但是由于我和室友的方法完全不同,导致我们在共同面对编码无法实现中文的解码成功的问题上,无法进行有效的沟通,最初的学习代码完全没有什么下手处,基本上全是将网站上大神的框架与模板复制粘贴(因为我刚开始不知道如何在虚拟机粘贴,导致我浪费了许多时间在与自己的输入错误纠缠),然后再花费时间对大神们的代码进行逆向分析以求弄明白其中的原理,但是如此深度的计算机不是一蹴而就就能看懂的,可能是因为base64的编码解码简单,生词就那麽几个,我还可以用自己的话加标识符,但是来到生词多的数字转换部分时,我就进行不下去了,只能在室友的指导下行动。通过本周的学习让我明白了,我更要在此方面投入更多的时间与精力!"bmV2ZXIgc2F5IGdpdmUgdXAh"

 

学习进度条

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标 5000行 30篇 400小时  
第一周 0 2/2 4/4  
第二周 0 2/4 5/9   初步了解python
第三周 150/150 1/5 14/23  学习了模块
第四周 250/400 2/7 22/45  会编码base64
 

计划学习时间:15小时

实际学习时间:22小时

posted on 2021-10-17 16:50  20211422王俊凯  阅读(22)  评论(0编辑  收藏  举报