2021-2022-1 20211413 《信息安全专业导论》第七周学习总结

作业信息

班级:https://edu.cnblogs.com/campus/besti/2021-2022-1fois
作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07

教材学习内容总结

栈和队列
·
只能从一端访问,可以在第一个位置插入(Push)或者删除(Pop)元素,称为后进先出(LIFO)
· 队列
只能从一端入,另一端出,称为先进先出(FIFO)。其中插入操作总是在队尾,删除操作总是在队头

列表
· 列表的三个特征:
1)项目是同构的
2)项目是线性的
3)列表是变长的
· 链式结构(linked structure)
由节点构成,每个节点包含俩部分:数据和指向下一节点的链接或指针


一种分层体系结构,每个节点下方都有多个节点
· 二叉树(binary tree)
二叉树的每个节点后面最多有俩个节点,叫做子女(children),树的头部叫作根(root),根不是任何节点的子女
树叶(leaf):没有子女的节点,也称叶节点(leaf node)
· 二叉检索树
在二叉树基础上,二叉检索树要求每个节点的值都要大于左子树所有节点的值,而且要小于右子树所有节点的值

图(graph)
图由一组节点和连接节点的线段构成,其中节点叫做顶点(vertx),连接顶点的线段叫作边(edge)或者弧(arc)
· 无向图(undirected graph):边没有方向的图
· 有向图(directed graph 或 digraph):边从一个顶点指向另一个顶点,有方向
· 加权图:边有附加值的图
如果俩个顶点有一条边相连,则称它们为邻顶点(adjacent vertice)

参数传递
· 参数列表(parame list):子程序要使用的标识符或值的列表
· 形参(parameter):子程序名后括号中的标识符
· 实参(argument):子程序调用时列在括号中的标识符
· 值参(value parameter):传入实参副本的形参
· 引用参数(reference parameter):传入实参地址的形参

函数
· 自定义函数

def 函数名(形参列表):
    函数体
    return 返回值 (该条语句可省略)

· 函数中变量的作用域
模块中创建的变量作用域为整个模块,称为全局变量;函数创建的变量作用域为整个函数,称为局部变量。也可通过global将变量提升为全局变量

x = 20
def fun():
    global x
    x = 10 # 该模块中x的值变为10

· 函数类型
python中的函数有数据类型,该数据类型为function。因此,一个函数可以作为另一个函数的返回值使用,也可以作为另一个函数的参数,这与‘‘python中一切皆对象’’的概念有关

python中的内置模块
· 数学计算模块--math
一些常用模块请添加图片描述
· 日期时间模块--datetime
datetime类:包含时间和日期
date类:只包含日期
time类:只包含时间
timedelta:计算时间跨度
tzinfo:时区信息

· 正则表达式模块--re
1)字符串匹配:match(p,text),其中p是字符串模板,text是要验证的字符串。匹配成功返回匹配对象,否则返回none
2)字符串查找:search(p,text)、findall(p,text)
3)字符串替换:re.sub(pattern, repl, string, count = 0),其中pattern是正则表达式,repl是用于替换的新字符串,string是被替换的旧字符串,count为要替换的最大数量,默认值为0,表示不限制替换数量
4)字符串分割:re.split(pattern, string,maxsplit=0)

教材学习过程中的问题

问题:在学图形用户界面的时候,wxpython一直安装失败
解决:看了半天教程,发现是我用的是3.10版本的python,而wxpython目前最多支持3.9的版本。在下了3.9版本的后成功安装了wxpython,也将环境变量中的python改成了3.9的版本。但是在vscode中运行代码时却失败了,后来发现vscode还在用3.10的版本,改成3.9后成功运行了

代码调试中的问题和解决过程

1.不知道怎么在python中储存输入的数组
解决:首先我去了解了input()函数的机制,了解到input()接受任意的输入,并返回字符串类型。那么怎么将字符串改成数组呢?我想到了字符串操作中的split()函数,我用split()函数将输入的字符串切割,再用list()函数将其储存为列表。现在已经很接近目标了,但还有一个问题,储存在列表里的数字为str类型而不是int类型,在查询资料后我成功的将数字转化为了int类型。以下为代码示例

b = input() #b为字符串
a = list(b.split()) #将b切割并储存在列表中
a = [int(i) for i in a] #将列表中的数据转为int类型

一些排序算法

上周考试错题总结

1.Which of the following is part of a Pep/9 program instruction?
A.
Accumulator
B.
Simulator
C.
Program counter
D.
Specifier
E.
Register
理解错了题目意思,以为是问哪个是pep/9的组成,应该是问哪个是编程说明

2.The input to an assembler is an assembly language program.
判断,题意为汇编器的输入是汇编语言程序

posted @ 2021-11-01 17:53  蒻蒟  阅读(56)  评论(0编辑  收藏  举报