在栈中,允许插入与删除的一端称为栈顶,不允许插入删除的一端称为栈底。栈和队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中袁旭随栈顶指针的变化而动态变化,遵循后进先出的规则。
当front=rear时可知队列要么为空要么为满,如果题目说成功将一个元素退队,那说明原队列时满的,退出一个元素后队列中还有n-1个元素。
在二叉树中,总结点数=叶子节点数+度为1的节点数+度为2的结点数,在任意一棵二叉树中,度为0的结点总是比度为2的结点多一个。所以度为0的结点个数加上度为2的结点个数之和一定是奇数。
二叉树遍历可以分为3种,前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
软件工程包含3个要素:方法、工具和过程。
集成测试时将模块组装成程序通常采用两种方式组装:非增量方式和增量方式。非增量方式也称为一次性组装方式;增量方式又分为自顶向下,自底向上,自顶向下与自底向上相结合的混合增量方法。
面向对象方法中的对象由两部分组成:数据/属性,即对象所包含的信息,表示对象的状态;方法/操作,即对象所能执行的功能、所具有的行为。
数据流图的作用是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。
关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同的范式。满足最低要求的叫第一范式,简称1NF。在满足第一范式的基础上,进一步满足更多要求规范则是第二范式。然后在满足第二范式的基础上,还可以再满足第三范式,以此类推。对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式。若某个关系R为第一范式,并且R中每一个非主属性完全依赖于R的某个候选键,则称其为第二范式。第二范式消除了非主属性对主键的部分依赖如果关系R是第二范式,并且每个非主属性都不传递依赖于R的候选键,则称R为第三范式。(传递依赖:在关系模式中,如果Y→X,X→A,且X不决定Y和A不属于X,那么Y→A是传递依赖。)
while用来构建训话,except用来捕获异常,pass用来表示空语句。
高级语言根据计算机执行机制的不同可分为两类:静态语言和动态语言。静态语言采用编译方式执行,脚本语言采用解释方式执行。例如,C语言是静态语言,Python是脚本语言。编译是将源代码转换成目标代码的过程。解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。本题选C选项。
函数是一种功能抽象,使用函数后,函数修改则所有调用的函数都被修改,所以大大的降低了代码的维护难度,函数名可以是任何有效的Python标识符。增加代码复用只是函数的一个优点之一。
def demo( b = 2, a = 4):
global z
z += a * b
return z
z = 10
print(z, demo())
def fun(ss, x = 2.0,y = 4.0):
ss += x * y
ss = 10
print(ss, fun(ss, 3))
# 打印第一个ss值为10,第二个参数调用了函数,该函数没有返回值,得到None
Python中循环包括两种:遍历循环和无限循环。遍历循环使用保留字for依次提取遍历结构元素进行处理;无限循环使用保留字while根据判断条件执行程序。如果while中判断条件可以执行一次或两次,while中的语句块也就执行一次或两次,A项错误。循环结构有两个辅助循环控制保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行;continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但跳不出当前循环。两者的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。
seed函数可以设置初始化随机种子
pytho是脚本解释语言,没有主函数的说法。
n=2
def multiply(x,y = 10):
global n
return x * y * n
s = multiply(10,2)
print(s)
# 如果在函数调用时提供了对应参数的值,则会使用提供的值覆盖默认值。
try:
n=input("输入一个整数:")
def fun(n):
return n**5
fun(n)
except:
print("程序执行错误")
# input()函数从控制台获得用户的一行输入,无论用户输入什么内容,input()函数都以字符串类型返回结果。
# 当用户输入2时,n='2',这是字符2,不是数字2,不能进行数值运算,故程序会执行except后面的语句,输出程序执行错误。
常用的组合数据类型有集合类型、序列类型和映射类型。其中序列类型包括字符串类型、列表类型和元组类型,字典类型属于映射类型。
ls=list(range(4))
print(ls)
t=("cat", "dog", "tiger", "human")
t[::-1]
# 元组属于序列类型,t[::-1]表示从右向左边切片。
r表示只读模式,a表示追加模式,w表示覆盖写模式,+可以和r/w/a/x一同使用,表示在原功能基础上增加同时读写功能。
def split(s):
return s.split("a")
s="Happy birthday to you"
print(split(s))
# split()里面指定参数分隔字符串
L1 =['abc', ['123','456']]
L2 = ['1','2','3']
print(L1 > L2)
# 列表比较大小可采用从左到右依次比较元素大小,若产生结果则不需继续比较。
# 第一个元素是‘abc’和‘1’比较,字符串比较大小也是采用此方法。
open函数打开一个文件,并返回可以操作这个文件的变量txt,open函数有两个参数:文件名和打开模式。如果只是打开了文件,没有对文件进行操作,就不会输出文件的内容。若要输出文件的内容,需要把文件的内容读入,如txt=txt.read()
def func(a, *b):
for item in b:
a+=item
return a
m=0
print(func(m,1,1,2,3,5,7,12,21,33))
# 调用该函数的时候形参a得到的值是0,b得到的值是1,1,2,3,5,7,12,21,33。函数内部的语句是进行循环依次取出a中的元素进行累加。最终结果为85。
pyinstaller库主要用作打包程序
jieba 是一个中文分词库,用于将中文文本切分成词语。它是基于字典匹配和规则的分词算法,可以高效地处理中文分词任务。
PIL库是Python语言在图像处理方面的重要的第三方库,支持图像存储、处理和显示,它能够处理几乎所有的图片格式,可以完成对图像的缩放、剪裁、叠加以及图像添加线条、图像和文字等操作。
python中,属于Web开发框架第三方库的有:Django库、Pyramid库和Flaxk库。