- 博客(80)
- 收藏
- 关注
原创 python - day 12
如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。这两个函数我不太理解,str()显示的东西好像是给人看的,然后repr()显示的信息是给电脑看的。
2025-11-01 20:28:30
964
原创 python - day 11
,然后每个小文件夹/子包有分别包含了很多文件(也就是模块,后缀为.py的,比如formats里面的wavread.py,这些子包也都有一个__init__.py,用以说明这些文件夹也是个包)这个我的理解就是,一个名叫sound的大文件夹,然后里面包含了一个文件/模块(__init__.py,这个文件也使得这个大文件sound被视为一个包,称为。这个运行结果,分别是我在day6模块本身下运行的,以及通过day5模块调用的day6模块然后运行的。这个文件不仅仅是包的标识,它本身也是一个模块,模块名就是包名。
2025-10-31 23:03:25
641
原创 python - day10
在定义函数的时候,可以先给位置参数赋一个默认值,如果后面调用该函数时,没有对该位置参数传值,则该位置参数使用设置的默认值。eg:运行结果:不定长参数是不确定别人在调用该函数时,会传多少参数,如果比函数声明的要更多,多出来的这些参数就是不定长参数。加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。加了两个星号 ** 的参数会以字典的形式导入。eg:运行结果:Python 使用 lambda 来创建匿名函数。它可以具有任意数量的参数,但只能有一个表达式。所谓匿名,意即不
2025-10-30 20:47:56
871
原创 python — day9
函数代码块以def关键词开头后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号 : 起始,并且缩进。return [表达式]结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。def 函数名(参数列表):函数体。
2025-10-23 21:38:40
936
原创 python-day8
迭代器与生成器迭代是Python最强大的功能之一,是的一种方式。迭代器是一个可以记住的内容的对象。迭代器对象。迭代器有两个基本的方法:iter()和next()。字符串,列表或元组对象都可用于创建迭代器:运行结果:打印 it(迭代器),打印的是对象的地址,但不知道是什么的地址,这个搞不懂到底是啥。运行结果:迭代器与生成器看的云里雾里,暂时搞不明白,先留下来,后面再学。在 Python 编程中,资源管理是一个重要但容易被忽视的环节。with关键字为我们提供了一种优雅的方式等需要。
2025-10-22 22:28:39
668
原创 python -day7
补:Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句eg; if 后面要有语句,如果什么都不需要,就可以用pass语句做占位语句,保证程序结构的完整性。基础语法已经学完,尝试写些小东西;eg:斐波那契数列运行结果如下:或者:运行结果Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。Python 推导式是一种强大且简洁的语法,适用于生成列表、字典、集合和生成器。在使用推导式时,需要注意可读性,尽
2025-10-19 20:27:33
550
原创 python - 第六天
当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。这里的else并不是可有可无的,虽然没有else,additional_statement也还是会执行,但还有。在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。在 Python 中,for...else 语句用于在循环结束后执行一段代码。
2025-10-18 19:53:19
775
原创 python - 第五天
集合(set)是一个序列。集合中的元素不会重复,并且可以进行等常见的集合操作。可以,元素之间用逗号 , 分隔, 或者也可以使用。创建一个空集合必须用 set() 而不是 { },因为。
2025-10-16 21:52:24
378
原创 python - 第三天
除了用百分号去格式化,这个复习一下,下面这个格式:字符串里面的内容用格式化符号(就是那个 %s 和 %d ,还有很多其他的类型),然后字符串后面直接 百分号加上小括号,小括号里面是真正的内容,和字符串里面的格式化符合要一一对应。现在还可以用f-stringf-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去。例如:上面的那种写法也可以按下面这种写它的好处应该在于不用再去记各种类型的格式化符号了,像整型,浮点型什么
2025-10-13 21:45:35
874
原创 学习python 第一天
双引号里面如果为空(就是什么都没有,不是空格),则只是不换行的效果,如果双引号里面有其他字符,则在不同字符串的中间将以该字符为分界。
2025-10-10 15:36:40
632
原创 “第六十七天”
这个一开始要么错一个,要么对一个,我还以为这个网站憨了,其实是它有一个没有明说的是字符串可能会以空格结尾,所以所以它这测试里面是有一个以空格结尾的,我就要么对这一个,要么就错这一个,对末尾空格的处理也不麻烦,额外判断一下就行,这个打印还是那个,这个在需要比较密码的时候,我是先用了一个二维数组,把账号,密码,邮箱三者分开读的,但其实感觉也可以用gets函数一次读入,然后从字符串的末尾开始比较,因为邮箱都在最后,然后以空格为界判断,密码,账号和邮箱。,我一开始还是把逗号和前面的绑定打印,后来才记起来之前的。
2023-11-13 22:25:14
364
原创 “第六十六天”
这个我记得是有更优解的,不过还是明天发吧,明天想一想,看看能不能想起来。这串代码我自己测是没问题的,可是检测过不去。,不过不具体说了,可以自己对比一下。
2023-11-12 23:08:15
623
原创 “第六十五天”
比如如果某个计算机的主存地址空间大小是256MB(B表示字节,b表示比特),按字节编址,其数据Cache有8个Cache行,行长64B,256MB对于的是2^28bit,也就是主存的地址共28位,由于Cache的行长是64B,则主存可以划为256MB / 64B=2^22个块,所以主存地址有22位的主存块号和6位的块内地址。为了区分Cache中存放的是哪个主存块,需要给每个Cache块增加一个“ 标记 ”,用来记录对应的主存块号,除了标记外,还要增加一个有效位,来表示当前的Cache块是否存有数据。
2023-11-10 21:18:27
291
原创 “第六十四天” 字扩展和位扩展,外部存储器
还有一种方法是 1-2译码器,就是用一根地址线,然后分支出两条线,一条线接上非门,然后两条分支出的线分别和两个片选线相加,这样只需要一根地址线就可以控制两个存储片,同样的还有 3-8译码器,和上面的原理类似(需要三根地址线,因为三位的二进制才能表示八个单位 000~111),这种方法,就可以实现 n条线 发出 2的n次方的选片信号,而且地址空间是连续的。这里要注意的是,磁盘所有磁道记录的信息量是一定相等的,并不是圆越大信息越多,故每个磁道的位密度都不同,也就是越靠近内侧的磁道位密度越大。
2023-11-08 21:17:29
1950
原创 “第六十三天”
而gets不会,所以在strlen函数计数的时候,对于fgets读入的会多一个换行符,所以是四,学艺不精,学艺不精。这两天怎么做的这么别扭,为什么我的vs 的strlen函数包括终止字符了;这个题说的长度小于50,可是我把数组长度扩大到100它才给我全过,这个又是为什么?这个学来一个新东西,字母的判断,大小写字母的判断,以及大小写字母的转换。昨天的那个成了,把时间复杂度从n^2变成了n,我真的感觉我把。上面函数括号里面放的都是需要判断的字符;当作其他数组的下标还蛮厉害的,hh。它们都是在同一个库函数。
2023-11-07 21:41:30
312
原创 “第六十二天”
这个题就提到了我上次提到的,对于这种周期性循环,可以用模求余的方式控制,信息有点多,今天写的还是比较麻烦的,就是分别实现每个要求,然后最后打印。那个加21 实际上是-5+26,为了保证A~E的对应正确。这个题测试的时候不知道哪里为什么一直错一个。
2023-11-06 22:38:47
143
原创 “第六十一天”
找到错误了,上面改的什么啊,这个比他的还要快,哈哈哈,上面那个改错了就,然后导致后面的错误也没有发现,就是那个if,后面用while了,注意我使用while循环为什么,是因为阶乘后,flag未必小于10,所以如果使用if的话,最后那个存储的不是个位数,如果n阶n太大,后面会崩掉,用while是把flag化成个位。这个题和求2的n次方没有什么区别,不过把每次乘以的2 变成了 i,不过我真绷不住的是,这个有些结果用10000位都存不下,我用的十万才存的下,不过应该也用不了这么多。这个是double类型做的,
2023-11-05 22:55:45
152
原创 “第六十天” RAM
所以由于DRAM既要读后重写,又要不断刷新,所以访问延迟就比较高,但由于集成度高,存储密度大,所以往往被用作主存(RAM),以提供计算机程序所需的大量存储空间,相对的SRAM不需要刷新,可以立即访问,所以访问速度快,但集成度低,存储密度小,所以往往被用来作Cache。同时写入数据比较好理解,应该也不能说时写入错误,更像是后者写入会读前者写入的数据造成覆盖,同时对一个地址,一个写入,一个读出,写入其实应该没有什么问题,数据是存进去,但读出可能出现问题,因为原先数据可能已经被覆盖。
2023-11-04 21:14:17
284
原创 “第五十九天”
这是昨天那道题,这个后面自己的处理思路还是差了点,这道题关键感觉就是对进位的处理的,由于进位的存在,所以处理数据的时候只能从最低位开始,我一开始是从高位处理的,而且后面越来越迷,这个点一直没有反应过来。不过不是很理解这个前导 0 到底上面意识,因为我用gpt写了一个之前,它的貌似并没有处理前导 0 ,但还是过了。gpt写的,不过它这个将字符转换成整数的处理还可以。我根据gpt的又改了一下,主要就是多了个对前导0的处理。
2023-11-03 21:35:51
166
原创 “第五十八天” 存储器
之前提过,字和字节的不同,1 字节是8bit,而 一个字 和存储字长有关,若存储字长为32位,则1个字为 32bit。这个题我最开始是打算引入一个变量来观测a,b是否循环一个周期了,这样虽然能做但还是比较麻烦的,但后面突然意识到可以通过模求余来表示第几次出拳,这样感觉就比较巧,如果a的出拳周期是3 ,那么0,3,6的模3余都是0,都表示第一次,然会 1,4,7都余1表示第二次,这样不用借助变量,而且处理起来也算方便。信息读出后,原存储信息不被破坏 -- 非破坏性读出(如SRAM芯片,磁盘,光盘)
2023-11-02 22:46:41
177
原创 “第五十七天”
把区域看成 左开右闭,吗,每次输入一个区域的时候,都把这个区域的左边对应的树的位置所在数组位置设为 +1 ,右边对应的设为 -1 ,然后在后面的判断的时候通过 flag 的值来进行判断,当flag 为正的时候表示从左边进入了一个区域,每进入一个区域都会加(多个区域可能重合),每出一个区域 flag -1 .如果flag 不为 0,表示还没有出去所有的区域,真的是很厉害的思路。这个思路,真的太神了,当然也是自己太弱了,就这我还为自己想出用 1/0 来表示树是否存在,然后求和而自喜呢,他这个思路真的好厉害。
2023-11-01 22:12:14
157
原创 “第五十五天” 定点数,乘除运算
然后根据余数的正负对余数进行处理得到下一个新余数,然后再根据这个新余数的值确定下一位商值,这样重复直至得出结果,这里如果最后的出的余数为负,则再商0之后,还需要对余数再处理一下(加 |y| 的补码,就是恢复余数的那个东西)得到正确的余数。(把现在这个相减之后小于 0 的余数在加上除数,得到的就是之前的那个余数),注意这个虽然是原码的除法,但在减去除数的时候,用的是 (-|y|)的补码,在恢复余数的时候加的是 |y|的补码。,数值位去绝对值进行运算。每次加法加的可能是 0 ,x的补码 ,(-x)的补码。
2023-10-30 22:04:31
565
原创 “第五十四天” 溢出判断,标志位 ,移位,有问题没有解决
用来判断运算结果是否为 0 ,其值为 1 的时候 表示结果为 0 ,其值为 0 的时候 ,表示运算结果非 0,在硬件上的计算方法是运算结果的全部位 为 0 的时候 ZF的值为1,这里我和上面保有一样的疑问,不过这里再用来判断的时候是不是好点。对于带进位位的循环移位,会把移出的位放到进位位,原进位位补上空缺,也是右移,这样最低位(假如是0)被移除,然后把原进位位(假如是1)已到由于右移而空缺的最高位,然后把最低位移出的 0 放入进位位。,定点小数正数都补 0 ,负数的原,补码补的是 0,反码补的是 1.
2023-10-29 21:56:23
3023
3
原创 “第五十三天”
今天没有做什么,不过这个在打印,的时候一直卡着,我一直在想把逗号打印在后面,所以一直想办法确定最后一个是哪一位,这里居然没有绕过来其实可以看做是前面,这样第一个不打印逗号,后面打印就可以,而且很好确定,不过也没有做很久,中间是有事情离开了,不至于做了两个多小时。这个是别人的,居然没有绕过这个圈,真的是....我的,后面用num确定打印第几个了。
2023-10-28 22:00:24
237
原创 “第五十二天” 逻辑运算,加法器
这个不好说,这个就是补码的加法器,它这里多了一个Sub加/减法控制信号,同时向选择器和低位的进位输入信息,如果是加法的话非门是关着的,低位的进位输入是 0 ,这样就都是补码直接参与运算,如果是减法的话,那非门就是打开的,另一边是关着的,这样的话就可以实现减数的全部为按位取反,而末位加一这个操作的实现是通过向低位的进位输入 1 来实现的,这里真的很巧妙,一个输入信号,即控制了加减,又实现了对数据处理,其实两个都是数据的处理,反正就是挺开眼的。或: Y=A+B;就是取反,a是0,y就是1,a是1,y就是0.
2023-10-27 20:42:11
367
原创 “第五十一天” 原反补,定点数,奇偶验证码
定点小数的原,反,补码的相互转换和定点整数是一样的,这里定点小数的原码和反码的真值 0 也都是两种形式,原码就是还是,符号位为 1/0 ,其他位为 0,反码还是全 1 ,或者全 0,和定点整数一样, 定点小数的补码也只有一种,那就是全 0, 所以也会比原码和反码多表示一个数,就是符号位为 1,数值位全 0 的时候,这个时候表示 -1(最小值)。,就是说,比如 1111 1111,这个数,其最低为不再表示2的零次方,第二位也不再表示 2 的一次方 ,但其实正数好像也没有什么问题,毕竟和原码是一样的。
2023-10-26 21:42:19
215
原创 “第五十天” 机组--数据的表示 向上向下取整函数
2421码是改变了权值的定义 ,现在这四位二进制的权值分别是 2 4 2 1,4以下,包括4,对应值关系和8421码是一样的,比如4 还是 0100,但4以上的值就定义保证最高位的2为1,这样是为了避免歧义,比如5可以表示为 0101,也可以表示为 1011,但有了最高位的要求,就只能是 1011,这样就避免歧义的发生。:每个数码位所用到的不同符号的个数,r进制的基数就是r,比如10进制的基数是10个,0~9,二进制是2个,0~1.,比如十进制的0~9,9这个符号的权重和0是不一样的,而且现在的计数法。
2023-10-25 22:07:08
484
原创 “第四十九天” 机组 硬件基本讲解
这里需要说明的是主频高的cpu不一定比主频低的cpu快,因为处理指令的速度还和CPI有关(处理一条指令所需的时钟周期数),即使平均CPI相同,主频快的也不一定更快,还要看指令系统,如过前置不支持乘法指令,那就只能用多次加法实现乘法,而如果后者支持乘法指令,两者的快慢也未必。送到CU,CU经分析后,会指挥其他部件进行执行指令,如“取数”指令,分析后,IR会将指令中的地址码传给MAR,然后MAR会根据地址找到对应的数据传到MDR,若进行加法运算,这个值会再传递ACC或者X(看这个值是被加数还是加数)。
2023-10-24 21:54:03
363
原创 “第四十八天” 机组,计算机发展历程
硬件是指计算机的实体,如主机和外设等;软件则是由具有各类特殊功能的程序组成,又可分为系统软件和应用软件 ,前者用来管理整个计算机系统,如操作系统,数据库管理系统,标准程序库,网络软件,语言处理程序,服务程序等,后者是指按任务需要编织成的各种程序,如抖音,王者荣耀,迅雷等。第二代是晶体管时代,1958-1964,此时的逻辑元件是晶体管,晶体管的体积比电子管小的多,而且功耗降低,运算速度是几万到几十万,内存是磁芯存储器,外存是磁带,此时出现了面向过程的程序设计语言:FORTRAN,有了操作系统雏形。
2023-10-23 22:23:37
188
原创 “第四十七天”
数据结构也差不多学完了,不过学的很急,里面的各种代码也没有实操,不过还是打算继续往前学,争取先过一遍。不过这几天不知道为什么感觉很疲倦,感觉很奇怪。这个题不难,但下面这个人思路还蛮有意思的,居然用 || 来控制后面printf语句的运行,
2023-10-22 21:32:23
51
原创 “第四十五天” 数据结构基本概念
对应的存储结构分别是顺序存储结构和链式存储结构 ,数组就是一种顺序存储结构,数据之间彼此是相互靠近的,而链式存储结构,数据和数据并不一定是靠近的,而且感觉基本是不可能靠近的,所以对于链式存储,要想实现数据的关联,就需要存储对于关联数据的地址以达到访问或者操作的目的。目前看的有关数据结构的课,估计这周就看完了,但感觉差很多,还是和c一样,这样过一下吧。: 构成数据元素的不可分割的最小单位,我们每个的信息也可以在划分一下,比如学号,姓名,性别之类的,这些都是构成我们信息的数据项。:性质相同的数据元素的集合。
2023-10-20 21:11:31
550
原创 “第四十四天”
这道题也不是难,但可能会忽略一种情况,当最大小出现在首位的时候,那个时候如果进行交换的话,大小值可能出现覆盖的情况,最终导致丢失最大值或者最小值,比如最大值 10 在第一位,最小值 0 随意,先交换最小值,那么 最小值 0 再和第一位交换时 第一位的 10 就被覆盖了,后面进行最大值交换时 ,再用 最大值位交换就会出现问题,因为最大值位是第一位 ,现在是 0 了。这个地方就是为了防止那样,是先用m对后赋值的进行存储,防止值被覆盖丢失。
2023-10-19 22:19:18
387
原创 “第四十三天”
这个是我自己写的,下面那个是看的别人的,其实大致都是一样的,通过四次循环,挨个求和比较,都很麻烦,但重点在于,对于已知变量的运用,当我需要在最内层循环用变量确定a数组组元时,是通过引入新的变量来搞定的,而这个人则是通过对已有变量的处理来表示,这个地方感觉还是蛮差距的。
2023-10-18 22:05:42
194
原创 “第四十二天”
这个,之前用的b去存储a的总和和排名,后来在比较的过程中,只改变的b的值,却没有改变a的值,但在比较语文成绩的时候用的还是a,这个时候a和b同样是第i个对应的可能不是同一个对象了。,因为上面b的值可能改变了,现在的第i个b可能是原来第i+1,i-1个,都有可能,所以比较结果错误。这个是正确的,不过感觉这样还是很麻烦。
2023-10-17 22:25:24
175
原创 “第四十一天”
今天这个有点意思,这里第二个代码分数相等时进行交换的时候是在打印前,当时提交的时候一直错两个,后来才明白应该是有两个以上分数相等的情况,在打印的时候,一个人不能和全部比较,只能和后面那个比较,比如分数相等的是 abc ,那么最后是bca,而不是cba,这就是不能全部比较,而在比较时进行判断时,就可以全部比较。
2023-10-16 22:11:44
54
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅