Python语言程序设计(二级)


因新冠肺炎的影响,国家取消了2020年3月和6月的计算机等级考试。
等到7月30日,计算机等级考试官网终于出了各省报名安排。

重庆市9月的考试安排时间节点如下:

  • 报名时间为:8月19日至9月2日
  • 考试时间为:9月26日至9月29日

我不是在校生,是因为出了新政策,准备要补拿学位证书,才选择进行考试。
本来是报考3月的java二级,可因为疫情取消了考试;学习的java相关知识也忘了不少。
为了提高通过的概率,在本次报考的时候,我选择了比较易学的python(也因为最近python实在有点火)。
两年前简单了解过python,没有系统的学习;已经很久没接触了,基本上也算从零开始学习吧。
现在是2020年9月1日,距离考试时间还有二十五天,我开始利用自己的空闲时间备考,特在此记录过程,以备大家参考。

因为是抽工作后的空闲时间学习,在这里只针对二级考试相关内容进行学习,以拿证为最终目的。

相关链接:

一、考试须知


  • 为上机考试,考试时长120分钟,满分100分;选择题得分≥20分且总分≥60分时可获得证书。
  • 分数构成:
  1. 选择题40分
    含公共基础题10分(送分题)和专业题30分;
  2. 操作题60分
    含基础编程题40分和综合编程题20分。
  • 考试成绩分为四个等级:
    • 0-59 不及格
    • 60-79 及格
    • 80-89 良好
    • 90-100 优秀 这是我本次备考的目标
  • 做选择题时键盘是锁定的,只能用鼠标点选,做完提交后不能再进入选择题页面了;做操作题时键盘会解锁。
  • 操作题注意事项:
    • 题目对应的.py文件无需自己创建。
    • .py文件名必须按照提示说明的要求命名,否则系统无法识别直接0分。
    • 编程题的答案一定要保证能完整运行,否则直接0分。
  • 调试工具IDLE,需要学会此应用的基础操作(Python安装后自带)。
  • 上机试试能不能使用help(),能使用的话大题就稳了。

二、考试报名


关注全国计算机等级考试-官网发布的报名信息,所在地区开始开放报名后进入在线报名页面找到地区入口进行报名。
报名无其他限制,主要准备一张电子证件照和报名费用(110元,支付宝在线缴费)。
选择考点时尽量选择离家近一点的就行,但是不是每个考点有设置有python科目,我就选了一个离家很远的考点。

三、本地环境


1. 应用安装

进入二级Python考试应用软件下载 ,下载官方提供给软件包根据指引进行Python和三方库的本地安装。
安装好Python后,在开始菜单中打开Pyhton层级,就可以找到IDLE工具了。

2. 学习IDLE

掌握IDLE的基础用法,后面的学习会使用idle来实操。
掌握.py文件的编辑和运行,不然给个题目你都没法自己调试。
在这里插入图片描述

四、开始学习

学习目标就是成功拿下二级证书,和这个目标不相关的内容暂不做学习了解,毕竟时间有限。


1. 基础函数

dir(x)

询x类/对象所有属性

dir(list) 
'''
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
'''

help(x)

了解x模块/类型/对象/方法/属性的详细信息

help (list)
'''
 |  __add__(self, value, /)
 |      Return self+value.
 |  
 |  __contains__(self, key, /)
 |      Return key in self.
 ...
'''

print(x)

打印

	print("hello world!") #打印:hello world!

type(x)

获取参数x的类型

param = 123
print(type(param)) #打印:<class 'int'>

param ="123"
print(type(param)) #打印:<class 'str'>

input(x)

接收输入,x为输入的说明内容

s = input("请输入你的姓名:")
print("{0}你好,我是python。".format(s))

eval(x)

将字符串x当成有效的表达式进行计算并返回结果

count = 99
print(eval("count+100")) #打印:199

#也可以指定参数只从globals参数中匹配
g = {'count':9}
print(eval("count+100",g)) #打印:109

2. 保留字

import keyword
print(keyword.kwlist) 
#打印:['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

3. 数据类型

  • 基础数据类型
类型说明
str字符串
int整数
float浮点数
bool布尔值
list列表
tuple元组
dict字典
set集合
  • 类型转换
函数说明
int(x [,base])将x转换为一个整数
long(x [,base] )将x转换为一个长整数
float(x)将x转换到一个浮点数
complex(real [,imag])创建一个复数
str(x)将对象 x 转换为字符串
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变集合
dict(d)创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符
unichr(x)将一个整数转换为Unicode字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串

4. 基础语法


变量

变量不用声明类型,使用前必须赋值。

hi = 'hello world!' #不用声明类型,直接给hi赋值
print(hi) #使用前必须赋值,打印hi的值

命名

变量命名注意事项:

  • 以包括字母、数字、下划线,但是数字不能做为开头;
  • 系统关键字不能做变量名使用;
  • 除了下划线之个,其它符号不能做为变量名使用;
  • 区分大小写。

代码结构

严格使用缩进格式。

count = 6
if count==6:
	print('true')
else:
	print('flase')
print('ok')

'''
打印:
true
ok
'''

注释

单行注释使用井号#,多行注释使用三个单引号'''或三个双引号"""

#单行注释

'''
多行
注释
'''
	
"""
多行
注释
"""

字符转译

字符串拼接时注意转译;内容中有斜线时,使用真实字符串,及r字母开头。

hi = "Let's go! " #使用双引号括单引号,正常输出
print(hi) #打印:Let's go! 
hi = 'Let\'s go! ' #使用单引号括单引号时,用斜线转译,正常输出
print(hi) #打印:Let's go! 
hi = r'\\\三道杠' #本身包含斜线时,使用真实字符串自动转换为'\\\\\\三道杠',正常输出
print(hi) #打印:\\\三道杠

多行字符串

字符串是多行时,可以使用三连引号,单双都适用,同多行注释。

hi='''
亲爱的,
你好,
我是你爸爸!
'''
print(hi) 
'''
打印:
亲爱的,
你好,
我是你爸爸!
'''

操作符

操作符的优先级。

  1. 幂运算**
  2. 正负号+x正数,-x负数
  3. 算术操作符*乘,/除,//原始除,+加,-减
  4. 比较操作符<小于,<=小于等于,>大于,>=大于等于,==等于,!=不等于,不支持++自增,--自减
  5. 逻辑运算符not非,and和,or或

表达式中有括号时,优先执行扩展里面的()

  • 操作符注意事项:
    -3**2  #等于-(3**2) >>> -9
    3**-2 #等于3**(-2) >>>0.1111111111111111
    3<4<5 #等于 (3<4) and (4<5) >>>true
    

条件分支

num =1;
if num >1:
	print('a')
elif num ==1: #不是else if哦!
	print('b')
else:
	print('c')
#打印:b

while 循环

num =0
while num<10:
	print(num) #打印0到9
	num+=1

for 循环

  • 基础用法

    nums = [0,1,2,3,4,'ok']
    for item in nums: #遍历数组
    	print(item) #打印0到4,以ok结束
    
  • range方法

    for item in range(1,10,2): #range为数组生成器,意为:生成1到10以内每次递增2的数组
    	print(item) #打印1到10的基数
    
  • break 结束循环

    #当i等于3时结束循环
    for i in range(6):
        if i==3:
            break
        print(i)
    '''
    打印:
    0
    1
    2
    '''
    
  • continue 跳出本次循环

	#当i等于3时跳过该次循环
	for i in range(6):
	    if i==3:
	        continue 
	    print(i)
	'''
	打印:
	0
	1
	2
	4
	5
	'''
	```
### 函数
创建函数关键字`def`。
```python
def myFirstFunction(param1,param2): #创建函数
    '此方法需要两个参数,有返回值' #函数文档
    print("第一个函数,参数1:{0};参数2:{1}".format(param1,param2))
    print("假设这里做了很多操作")
    return "这是返回值"

result = myFirstFunction("aaa","bbb") #调用函数
print(result) #打印:这是返回值
print(myFirstFunction.__doc__) #打印:此方法需要两个参数,有返回值
  • 关键字参数
def hello(param1,param2): #创建函数
   print("参数1:{0};参数2:{1}".format(param1,param2))

hello("bbb","aaa") #打印:参数1:bbb;参数2:aaa
hello(param2="bbb",param1="aaa") #打印:参数1:aaa;参数2:bbb
  • 默认值
def dffun (param1='aaa',param2='bbb'):
    print("参数1:{0};参数2:{1}".format(param1,param2))
dffun() #打印:参数1:aaa;参数2:bbb
  • 收集参数
def sjfun(*params):
    print("尝试长度为:{0};第二个参数为:{1}".format(len(params),params[1]))
sjfun(1,2,3,4,5,6) #打印:尝试长度为:6;第二个参数为:2

def sjfun(*params,age='18'):
    print("长度为:{0};age为:{1}".format(len(params),age))
sjfun(1,2,3,4,5,6,age="99") #打印:长度为:6;age为:99

lambda表达式

返回一个没有命名的函数,没有使用时会自动释放资源,减少内存消耗。

# 普通方法
def sumjs(x):
    return 4+x
print(sumjs(4)) #打印:8

# lambda函数
add = lambda x:4+x
print(add(4))	#打印:8

# 多个参数
add = lamba a,b:a+b
print(add(4,6))	#打印:10

异常处理

try:
    print(10/0)
except ZeroDivisionError as e:
    print("0不能作为除数")
finally:
    print("请联系管理员")
'''
运行代码:
0不能作为除数
请联系管理员
'''

常见错误类型

类型说明
ZeroDivisionError零不能作为除数
ValueError无效的参数
IndexError序列中没有该索引

5. 数据类型


list 列表

列表(数组plus),非常有用,装一切。

基本用法
ls = [1,2,3]
print(ls) #打印:[1,2,3]

ls.append('a') #在末尾追加值
print(ls) #打印:[1,2,3,'a']

ls.extend(['b','c']) #在末尾追加数组
print(ls) #打印:[1,2,3,'a','b','c']

ls.insert(0,0) #在指定位置插入值
print(ls) #打印[0, 1,2,3,'a','b','c']

ls.remove(1)  #根据元素删除
print(ls) #打印[0, 2, 3, 'a','b','c']

del ls[0] #根据索引删除
print(ls) #打印:[2, 3, 'a','b','c']

pp = ls.pop() #取出最后一个值
print(pp) #打印:c 
print(ls) #打印:[2, 3, 'a','b']

ls2 = ls[1:3] #切片,获取指定起止内的数组
print(ls2) #打印:[3,'a']

ls.reverse() #反转
print(ls) #打印:['b', 'a', 3, 2]

ls = [1,3,2]
ls.sort() #排序
print(ls) #打印:[1, 2, 3]

# 列表长度
print(len(ls)) #打印:3
# 列表中的最大值
print(max(ls)) #打印:3
# 列表中的最小值
print(min(ls)) #打印:1
# 列表求合
print(sum(ls)) #打印:6
注意事项
#列表的复制
ls1 = [1,2,3]
ls2 = ls1 #通过等号复制
ls3 = ls1[:] #通过切片复制

print(ls1) #打印:[1, 2, 3]
print(ls2) #打印:[1, 2, 3]
print(ls3) #打印:[1, 2, 3]

print(ls1.pop()) #修改ls1会同步影响ls2

print(ls1) #打印:[1, 2]
print(ls2) #打印:[1, 2]
print(ls3) #打印:[1, 2, 3]

tuple 元祖

这玩意就是一个被加入限制的列表,只能放同类型的值,且不可修改,只能重新定义。

字符串就是通过元祖来实现的

基本用法
tp = (1,2,3)
print(tp) #打印:(1, 2, 3)
print(type(tp)) #打印:<class 'tuple'>
tp = 1,2,3 
print(tp) #打印:(1, 2, 3)
print(type(tp)) #打印:<class 'tuple'>

tp = ()
print(type(tp)) #打印:<class 'tuple'>

#注意只有一个值的时候需要在后面加个逗号,不然就给成整数了
tp = (1)
print(type(tp)) #打印:<class 'int'> 

tp =(1,)
print(type(tp)) #打印:<class 'tuple'>

注意事项
#非要修改元祖
tp = (1,3,4)
tp = tp[:1]+(2,)+tp[1:]
print(tp) #打印:(1, 2, 3, 4)

str 字符串

在python中没有字符定义,单个字符则等于一个长度为1的字符串。

基本用法
str1 = 'hello wolrd!'
print(str1)
print(len(str1))

print(str1.capitalize()) #把第一个字符改为大写

print(str1.find('w')) #查找第一个w出现的位置

print(str1.replace('hello','hi')) #替换指定内容

str1 = ' a b c d    '
print(str1.strip()) #删除前后空格

format() 格式化方法
# 位置参数;逐一替换
msg = "{0}B{1}D{2}F..."
print(msg.format("A","C","E")) #打印:ABCDEF...

# 关键字参数;根据参数名称替换
msg = "{某某}爱{谁}!"
print(msg.format(某某="我",="你")) #打印:我爱你!

# 打印大括号怎么办
msg = "大括号在此:{{}},大括号再此:{0}"
print(msg.format("{}"))
格式化符号
符合说明
%cASCII码
%s字符串
%d整数
%o八进制
%x十六进制
%X十六进制(大写)
%f定点数,可指定精度
%e科学计数法
%E科学计数法化定点数
%g自动使用%f或%e
%G自动使用%f或%E
# ASCII码
print("%c %c %c" %(97,98,99)) #打印:a b c

# 字符串
print("%s %s %s" %("a","b","c")) #打印:a b c

# 整数
print("%d %d %d" %(1,2,3)) #打印:1 2 3

# 八进制
print("%o %d" %(10,10)) #打印:12 10

# 十六进制
print("%x %d" %(11,11)) #打印:b 10

# 十六进制(大写)
print("%X %d" %(11,11)) #打印:B 10

# 定点数,可指定精度
print("{0:.3f}".format(1.23456789)) #打印:1.235
print("%f" % 1.23456789) #打印:1.234568

# 科学计数法
print("%e" % 1.23456789) #打印:1.234568e+00

# 科学计数法(大写)
print("%E" % 1.23456789) #打印:1.234568E+00

格式化辅助指令
符号说明
m.nm及最小宽度,n及小数点位数
-左对齐(不指定及为右对齐)
+显示正数的加号
#在八进制前显示‘0o’,在十六进制前显示‘0x’或‘0X’
0使用‘0’填充前面的空格
# 指定保留3位小数
print("{0:.3f}".format(1.23456789)) #打印:1.235
print("%.3f" % 1.23456789) #打印:1.235

# 指定宽度为10,保留3位小数
print("%10.3f" % 1.23456789)   #打印:     1.235
print("%+10.3f" % 1.23456789)  #打印:    +1.235
print("%010.3f" % 1.23456789)  #打印:000001.235
print("%-10.3f" % 1.23456789)  #打印:1.235
print("%0-10.3f" % 1.23456789) #打印:1.235
print("%-010.3f" % 1.23456789) #打印:1.235
# 为什么不能用‘0’填充后面呢?5后面加个0就变成50(五十)了。
常用字符串转移符
符合说明
\n换行
\0空格

filter 过滤器

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

# 默认过滤掉列表中为“非”的内容
print(list(filter(None,[1,0,False,True]))) #打印:[1, True]

# 过滤列表中的偶数,返回基数,其中第一个参数为filter的判断条件,第二个参数为原值
print(list(filter(lambda x:x%2,range(10)))) #打印:[1, 3, 5, 7, 9]

  • 过滤关键字
bnbh = "黄赌毒"
def sfbh(x):
    return not x in bnbh
zfc = "正 规 KTV , 决 绝 黄 赌 毒"
print(list(filter(sfbh,zfc.split())))
#打印:['正', '规', 'KTV', ',', '决', '绝']

gul = ""
for k in list(filter(sfbh,zfc.split())):
    gul+=k
print(gul) #打印:正规KTV,决绝

map 映射

# 将列表中的所有值乘以2
print(list(map(lambda x:x*2,range(4)))) #打印:[0, 2, 4, 6]

# 将列表中所有值都加上后缀
print(list(map(lambda x:str(x)+"元",range(4)))) #打印:['0元', '1元', '2元', '3元']

argv

获取在cmd命令窗口行执行脚步时的后面跟着的参数,返回一个列表。
先创建test.py文件:

from sys import argv
first = argv
print(first) #打印:['test.py', 'one', 'two']

在命令窗口进行调用并传参

cd xxx
python test.py one two

6. 文件操作

需要使用open()方法先打开一个文件流。

操作模式
常见模式关键字描述
读取r只能读取已存在的文件,否则报错
覆盖w文件已存在则情况重写,否则创建
追加a文件不存在则创建,存在则追加
文本t文本模式
二进制b转为二进制
叠加+使用加号叠加模式
创建文件
# 设置打开一个文件,写入模式,返回一个文件流
mf = open("mf.txt","w")
# 向文件中写入字符串
mf.write("hello world!")
# 关闭文件
mf.close()

print("已创建文件:mf.txt")
读取文件
  • read() 读取整个文件
  • readline() 读取一行
# 设置打开一个文件
mf = open("mf.txt")
print(type(mf)) #打印:

zf = mf.read() #获取文件内容,返回字符串
print(len(zf))  #打印:
for i in zf:
    print(i,end="\n") 

7. 基础库


导入第库

#普通的导入turtle库
import turtle 
#导入turtle库并取别名为t
import turtle as t 
#导入turtle库的所用成员,通常,应避免这样操作
form turtle import *

random 随机数(必考)

基本用法
import random #导入random库
num = random.random() # 随机浮点数:0<= n < 1.0
print(num) #0.315038353175098
num = random.uniform(3,7) #生成3到7之间的随机浮点数
print(num) #3.499547910722022 
num = random.randint(3, 7) #生成3到7之间的随机整数
print(num) #5 
num = random.randrange(3, 12, 3) #从指定范围内,按指定基数递增的集合中 获取一个随机数
print(num) #9
ls1 = ls2 = [3,4,5,6,7]
random.shuffle(ls1) #打乱数组
print(ls1) #[3, 6, 7, 4, 5]
ls2 = random.sample(ls2,3) #打乱数组并切片
print(ls2) #[6, 3, 7]

#随机数种子seed()的作用
random.seed(4)
print(random.randint(1,100)) #31
random.seed(4)
print(random.randint(1,100)) #31
random.seed(4)
print(random.randint(1,100)) #31
#由上可见,在同一范围时设置了相同的种子时,可以获取相同斗随机数
print(random.randint(1,100)) #39

turtle 绘图(必考)

是一个简单的绘图工具库,主要通过x轴和y轴来定位画笔,再用角度来控制画笔移动方向。
可以使用它来绘制各种图案,列如画一只猪什么的。

基本用法

用turtle画一个边长为200的红色菱形:

#导入库
import turtle
#设置画板大小
turtle.screensize(400,600)
turtle.fillcolor('red') #设置填充颜色
turtle.begin_fill() #准备开始填充图形
#画一个边长为200像素斗菱形
turtle.right(30) #设置方向
turtle.fd(200)  #画200个像素
turtle.right(-60)
turtle.fd(200)
turtle.right(-120)
turtle.fd(200)
turtle.right(-60)
turtle.fd(200)
turtle.end_fill()#填充完成

在这里插入图片描述

全局指令
  • turtle.clear() 清空窗口
  • turtle.reset() 重置窗口
  • turtle.undo() 撤销上一步
  • turtle.isvisible() 返回是否可见
  • turtle.stamp() 复制图形
  • turtle.write() 写文本
画笔属性
  • turtle.pensize() 设置画笔的宽度,单位是像素
  • turtle.pencolor() 设置画笔的颜色,可以用系统定义的颜色或RGB 3元组
  • turtle.speed() 设置移动速度,范围0到10的整数
画笔运动指令
指令简写说明
.right(x)画笔方向顺时针旋转x度
.left(x)画笔方向逆时针旋转x度
.forward(x).fd(x)向当前画笔方向移动x像素
.backward(x).bk(x)向当前画笔相反方向移动x像素
.penup().pu()将笔抬起
.pendown().pd()将笔落下
.goto(x,y)将画笔移动到坐标为x,y的位置
.circle(x1,x2,x3)画圆,x1为半径,x2度数(可选),x3边数(可选)
画笔控制指令
  • turtle.pensize(width) 绘制图形时的宽度
  • turtle.pencolor() 画笔颜色
  • turtle.fillcolor(colorstring) 绘制图形的填充颜色
  • turtle.color(color1, color2) 同时设置pencolor=color1, *fillcolor=color2
  • turtle.filling() 返回当前是否在填充状态
  • turtle.begin_fill() 准备开始填充图形
  • turtle.end_fill() 填充完成;
  • turtle.hideturtle() 隐藏箭头显示;
  • turtle.showturtle() 与hideturtle()函数对应
试试手
  • 画个红色的五角星:
from turtle import*
color('red','red')
begin_fill()
for i in range(5):
    fd(200)
    rt(144)
end_fill()
done()

在这里插入图片描述* 画一个太阳☀,熟悉画圆操作:

#导入库
import turtle
#设置画板大小
turtle.screensize(400,600)
turtle.fillcolor('yellow') #设置填充颜色
turtle.begin_fill() #准备开始填充图形
turtle.circle(100,360,8) #画一个8边形状
turtle.end_fill()#填充完成

#移动画笔
turtle.penup()
turtle.goto(0,20)
turtle.pendown()

turtle.fillcolor('gold') #设置填充颜色
turtle.begin_fill() #准备开始填充图形
turtle.circle(80) #画一个半径为80的圆形
turtle.end_fill()#填充完成

在这里插入图片描述

time 时间(抽考)

基础用法
  • 获取当前时间
import time as t
#获取当前时间戳
print(t.time())
#打印:1600875666.0594018

#获取当前时间字符串
print(t.ctime())
#打印:Wed Sep 23 23:42:15 2020

#获取当前时间对象
print(t.gmtime())
#打印time.struct_time(tm_year=2020, tm_mon=9, tm_mday=23, tm_hour=15, tm_min=42, tm_sec=51, tm_wday=2, tm_yday=267, tm_isdst=0)
 
  • 格式化
import time as t
nt = t.gmtime()
st = t.strftime("%Y-%m-%d %H:%M:%S",nt)
print(st) #打印:2020-09-23 15:47:04
  • 格式化符号
格式化字符串日期/时间说明取值范围
%Y年份0000~9999
%m月份(数字)01~12
%B月份(英文全称)January~December
%b月份(英文缩写)Jan~Dec
%d日期01~31
%A星期(英文全称)Monday~Sunday
%a星期(英文缩写)Mon~Sun
%H小时(24小时制)00~23
%I小时(12小时制)01~12
%p上/下午AM,PM
%M分钟00~59
%S00~59
耗时计算
import time as t
st = t.perf_counter()
x = 832432**123+2342**23423
t.sleep(1) #强制进程暂停1秒
et = t.perf_counter()
print("计算共耗时{0:f}".format(et-st))

8. 第三方库

pyhotn没有自带的第三方库,我们可以单独安装后使用。
可在cmd命令窗口中使用pip命令管理第三方库。

#安装xxx库
pip install xxx 
  • 常用的pip命令
命令说明
install安装
uninstall卸载
list已安装库列表

PyInstaller 打包(必考)

可以试用Pylnstaller将Python 程序生成可直接运行的可执行文件。
通过cmd命令窗口中的操作。

cd xxx #进入到对应的文件夹
PyInstaller -F test.py
#在当前文件夹中打开dist文件夹即可发现exe文件
  • 设置可执行文件的图标
cd xxx #进入到对应的文件夹
PyInstaller -i logo.ico test.py

jieba 中文分词库(必考)

对中文进行分词,多用于文章内容统计操作。

  • 基础用法
import jieba
yj="全国计算机等级考试"

#精准模式
fc = jieba.lcut(yj) 
print(fc) #打印:['全国', '计算机', '等级', '考试']

#全模块式,分得更细
fc = jieba.lcut(yj,cut_all=True) 
print(fc) #打印:['全国', '国计', '计算', '计算机', '算机', '等级', '考试']


#设置词语
jieba.add_word("等级考试") #指定“等级考试”为一个单词,不再细分
fc = jieba.lcut(yj) 
print(fc) #打印:['全国', '计算机', '等级考试']

五、考试

2020年9月26日,本次考试顺利完成。
在这里插入图片描述

考试感受

  • 时间基本够用,大多数考生都是在考试结束前的五到二十分钟离场。
  • 注意操作要是遇到不会的编程题果断先做下一题,最后再返回来思考。
  • 前面十道公共基础题我是真的不会做!这里概念性的内容有时间还是有必要了解一下。
  • help()函数可以使用,我英语不行使用help找画圆的方法,找了好久都没找到。
  • 画图、文件、分词必出大题,基础学完后需要好好学习一下这三个点。
  • 除了相关概念,本次考试的python内本文章基本都已经包含;掌握了本文知识点,离拿证就不远了,再找几道编程题练练手基本就稳了。
  • 我本次考试优秀是不可能了,选择题部分很多概念题都是蒙的,有两道编程题也没解完,拿证应该没问题。

考试结果

2020年9月(第58次)全国计算机等级考试(NCRE)成绩现已公布,考生可登录中国教育考试网(http://www.neea.edu.cn)查询本次考试成绩及证书信息。

激动人心的时候到了,我赶紧去查了成绩!

操操操,翻车了 2333;到底是哪里出了问题呢…
总结了一下,应该是基础选择题部分大意了,出错太多。

在这里插入图片描述
然后拿着结果去问老师:这次没考过拿学位证书还有机会吗?
老师回答:太可惜了,没有机会了,不过你可以再发发力去考个研究生!
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐