计算机二级(四)极速版

  1. 带链的队列和带链的栈均采用链式存储结构。链式存储的存储单元是不连续的,
    因为是不连续的存储空间,所以指针将不会有规律的连续变化
  2. 白盒测试是对代码内部的逻辑测试,有逻辑覆盖和路径测试两种方法,逻辑覆盖又包含语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,组合覆盖,路径覆盖。
  3. 某图书集团数据库中有关系模式R(书店编号,书籍编号,库存数量,部门编号,部门负责人),其中要求(1)每个书店的每种书籍只在该书店的一个部门销售;(2)每个书店的每个部门只有一个负责人;(3)每个书店的每种书籍只有一个库存数量。则关系模式R最高是( )
    A)1NF B)2NF C)3NF D)BCNF
    【解析】由题可知关系模式R有三个函数依赖:
    (书店编号,书籍编号)→部门编号
    (书店编号,部门编号)→负责人
    (书店编号,书籍编号)→库存数量
    由此可知,(书店编号,书籍编号)可以唯一标识关系模式R中的每个元组,因此属于关系模式的主键。在此关系模式中,每个属性都是不可再分的,R属于1NF,且“书店编号”和“书籍编号”单独之一都不能决定其他非主属性,所以R属于2NF;但(书店编号,书籍编号)可以决定“部门编号”,“部门编号”又可决定“部门负责人”,存在传递依赖,所以不属于3NF,更不是BCNF。
  4. id() 函数返回对象的唯一标识符,标识符是一个整数。Python 中 id() 函数用于获取对象的内存地址。

  5. python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(元组是括号)(a // b, a % b)。在 python 2.3 版本之前不允许处理复数。

  6. 注意:replace()方法不能改变原始字符串,替换出来的字符串为内存新建字符串,并未改变原始变量指针。Python replace()方法 | 菜鸟教程 (runoob.com)

  7. 仔细体会eval()函数的含义:将去掉字符串最外侧的引号,并按照python语句方式执行去掉引号后的字符内容。

  8. 集合(set)是一个无序的不重复元素序列,可以使用大括号 { } 或者 set( ) 函数创建集合

  9. Python中,用 def 语句创建函数时,可以用 return 语句指定应该返回的值,该返回值可以是任意类型。函数没有 return,默认 return一个 None 对象。

  10. index() 函数用于从列表中找出某个值第一个匹配项的索引位置。

  11. write() 方法用于向文件中写入指定字符串。

  12. Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

  13. Python join() 方法用于将序列中的元素(必须是str) 指定的字符 连接生成一个新的字符串。

  14. random.seed() 会改变随机生成器的种子;传入的数值用于指定随机数生成时所用算法开始时所选定的整数值,如果使用相同的seed()值,则每次生成的随机数都相同;如果不设置这个值,则系统会根据时间来自己选择这个值,此时每次生成的随机数会因时间的差异而有所不同。

  15. 使用turtle库绘制几何图形,其实这个是操作题中最简单的题目,就是几个例如前进、顺时钟旋转或者是逆时钟旋转一定角度方法的使用,掌握计算正n边形内角和公式即可:(n - 2)* 180 // n即可计算出每一次旋转的角度

  16. 使用第三方分词jieba库对文本文件(文本文件对应的字符串)进行分词,经常使用到的一个方法是jieba.lcut(line),其中line为字符串类型,lcut方法分词之后得到的是列表类型,并且分词之后一般需要将词语写入到另一个txt文件中或者是输出到控制台中,使用"".join()方法连接列表中的每一个词语得到对应的字符串,而且分词之后还会涉及到文件的读取与写入操作(涉及到读取与写入文件的各种文件模式:a,w,b...),读取的方法包括:整行读取使用readline(),方法返回值为str字符串类型,整个文件读取使用read()和readlines()方法,read方法返回值为str字符串类型,readlines()方法返回的是包含文件中每一行字符串内容的列表类型。写入文件的方法使用逐行写入的write(s)方法,s为要写入的字符串,writelines()方法用于向文件中写入一个序列的字符串,这一序列字符串可以是由迭代对象产生的,如一个字符串列表。并且在调用各个方法的时候需要注意的一个点是需要明白当前方法调用的返回值是list列表呢,还是str字符串呢还是其他的数据类型,只有明确这一点才可以对返回值进行进一步的操作(切片操作等)
    参考原文链接:https://blog.csdn.net/qq_39445165/article/details/115109127

  17. strip的返回值是一个字符串, split函数返回值为一个字符串列表

  18. 难题:

    考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能:
    下面所示为一套由公司职员随身佩戴的位置传感器采集的数据,文件名称为“sensor-txt,其内容示例如下:
    2016/5/310:05,vawelon001,1,1
    2016/5/310:20,earpa001,1,1
    2016/5/312:26,earpa001,1,6
    (....略)
    第一列是传感器获取数据的时间,第二列是传感器的编号,第三列是传感器所在的楼层,第四列是传感器所在的位置区域编号.
    问题1(10分):在PY301-1.py文件中修改代码,读入sensor.txt文件中的数据,提取出传感器编号为earpa001的所有数据,将结果输出保存到"earpa001.txt"文件。输出文件格式要求:原数据文件中的每行记录写入新文件中,行尾无空格,无空行。参考格式如下:

    2016/5/31 7:11, earpa001,2,4

    2016/5/31 8:02, earpa001,3,4

    20161/5/31 9:22, earpa001,3,4

    …略)

    问题2(10分):在PY301-2.py文件中修改代码,读入"earpa001.txt"文件中的数据,统计earpa001对应的职员在各楼层和区域出现的次数,保存到"earpa001_count.txt"文件,每条记录一行,位置信息和出现的次数之间用英文半角逗号隔开,行尾无空格,无空行。参考格式如下。
    1-15
    1-43
    …略)
    含义如下:
    第1行1-1,5中1-1表示1楼1号区域,5表示出现5次:
    第2行1-4,3中1-4表示1楼4号区域,3表示出现3次:
     


    f = open("sensor.txt", "r", encoding="UTF-8")
        fo = open("earpa001.txt", "w")
        txt = f.readlines()
        for line in txt:
            # strip的返回值是一个字符串, split函数返回值为一个字符串列表
            t = line.strip("\n").split(",")
            # 输出t的内容可以查看到列表中存在换行符
            # print(t[1])
            # 注意文本文件中某些字符串之间存在空格
            if t[1].strip(" ") == "earpa001":
                fo.write('{},{},{},{}\n'.format(t[0], t[1], t[2], t[3]))
        f.close()
        fo.close()
    
    
        f = open("earpa001.txt", "r", encoding="UTF-8")
        fo = open("earpa001_count.txt", "w")
        d = {}
        txt = f.readlines()
        for i in txt:
            # 使用strip方法去除换行符, split方法返回的是一个列表
            cur = i.strip("\n").split(",")
            # 拼接字符串
            t = cur[2] + "-" + cur[3]
            d[t] = d.get(t, 0) + 1
        ls = list(d.items())
        ls.sort(key=lambda x: x[1], reverse=True)  # 该语句用于排序
        for i in ls:
            fo.write("{},{}\n".format(i[0], i[1]))
        f.close()
        fo.close()

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值