知识点:
1,链表可以是线性结构也可以是非线性结构
线性表的链式存储结构称为线性链表;链表上一种物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,链表可以说线性结构也可以说非线性结构。
2,循环队列的存储空间Q(1:50)。操作后front=rear时可知队列要么空要么队列满,若队列又成功将一个元素退出,则表明在该情况下是满状态
3,二叉树中只存在度为0,1,2的结点,根据这二叉树中度为0的结点(叶子节点)总比度为2的结点多一个。
例子:问有20个叶子结点,5个1度结点,则该二叉树中共有多少个结点
2度结点个数 = 0度结点个数 - 1 |||| 20 -1 = 19
总结点数 = 0度结点数 + 1度结点数 + 2度结点数 |||| 20+5+19 = 44个
4,栈称为“后进先出”的线性表;
队列称为“先进先出”的线性表;
5,软件工程包含三个要素:方法,工具和过程
6,程序流程图上详细设计阶段使用的表达工具,还有N-S图,PAD图,HIPO图,判定表等等。
7,面向对象方法中的对象由两部分组成:1,数据,也称为属性,即对象所包含的信息,表示对象的状态。
2,方法,也称为操作,即对象所能执行的功能,所具有的行为。
8,数据定义功能:负责数据的模式定义与数据的物理存取构建;
数据操纵功能:负责数据的操纵,包括查询与增删改等操作;
数据控制功能:负责数据完整性,安全性的定义与检查以及并发控制,故障恢复等功能。
9,保留字,也称为关键字。
10,python字符串采用切片,获取字符串的范围是左闭右开的
11,python语言3种基本控制逻辑:顺序结构,选择结构(分支结构),循环结构。
在分支结构原理的基础上,python增加了异常处理,使用try-except关键字。
12,eval()函数是把字符串换成python可用的语言
13,函数能提高应用的模块性和代码的重复利用率。
14,ls.remove(x)是删除类表ls中第一个元素x
15,键值对中,键必须是唯一的,必须是不可变数据类型,值可以说任何数据类型。
字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。
16,文件打开模式中w表示覆盖写模式,文件不存在则创建,存在则完全覆盖原文件。
文件写入方法中,writelines()直接将列表类型的各元素连接起来写入文件中。
17,numpy是python的一种开源数值计算扩展第三方库,用于处理数据类型相同的多维数组。
numpy可以用来存储和处理大型矩阵,提供了许多高级的数组编程工具,如矩阵运算,矢量处理等。
18,PIL库是python处理图像方面重要的第三方库,支持图像存储,处理和显示。
操作题
1,随机输出列表中的元素
代码:
import random
brandlist = ['苹果','肌肉','大象','白雪']
random.seed(0)
name = brandlist[random.randint(0,4)]
print(name)
用到python的标准库random。random.seed(0)的作用是设置初始化随机数种子,设置种子的好处就是可以充分再现相同的随机数序列。
random.randint(a,b)的作用是产生一个[a,b]之间的随机整数。
2,输入一段文本,保存在一个字符串变量s中,分别用python内置函数及其jieba库中已有函数计算字符串s的中文字符个数及中文词语个数。
例子:
键盘输入:
科技是第一生产力
屏幕输出:
中文字符数为8,中文词语数为4
代码:
import jieba
s = input('请输入一个字符串')
n = len(s)
m = len(jieba.lcut(s))
print('中文字符数为{},中文词语数为{}。'.format(n,m))
len()统计字符数量
jieba库中的lcut(s)方法。返回一个以中文词语为元素的列表类型,再使用len()获取列表的长度,及中文词语数量
3,买衣服打折问题
例子:每件150,1件不打折,2件(包含)到3件(包含)打九折,4件(包含)到9件(包含)打八折,10件(包含)以上打七折。
代码:
n = eval(input('请输入数量:'))
if n == 1:cost=150
elif n>=2 and n<=3:cost=int(n*150*0.9)
elif n>=4 and n<=9:cost=int(n*150*0.8)
elif n>=10cost=int(n*150*0.7)
print('总额为:',cost)
4,使用turtle库中的right()函数和fd()函数绘制一个五角星,边长200像素,内角度数为36
代码:
from turtle import *
for i in range(5):fd(200)right(144)
5,键盘输入一组人员的姓名,性别,年龄等信息,信息间采用空格分隔,每人一行,空行回车结束录入
例如:
张三 男 22
王五 男 22
张强 男 23
王倩 女 28
计算并输出该组人员的平均年龄(保留1位小数)和其中女性的人数。
代码:
fo = open('test.txt','w')
data = input('请输入一组人员的姓名,性别,年龄:')
women_num = 0
age_amount = 0
person_num = 0
while data :name,sex,age = data.split('')if sex == '女':women_num +=1age_amount += int(age)person_num += 1data = input('请输入一组人员的姓名,性别,年龄:')
average_age = age_amount / person_num
fo.write('平均年龄是{:.1f}女性人数是{}'.format(average_age,women_num))
fo.close()
来源网络