计算机二级Python备考(23年3月)(持续更新中)

目录

 

 一、选择题

1.在Python语言中:

2.知识点

二、基本操作题

1. jieba库

考点知识点  :

 题目1:

2. format格式化输出

考查知识点:

题目1:

3 random库

考察知识点:常考

题目1:import random随机数

题目3:随机

4.列表

考察知识点:

题目1:

5.其他

题目1 求解两点之间的距离

考点:.split()函数:

 题目2:斐波那契数列

 题目3: 两个列表对应数相乘再累加

题目4:字符串逆序

三、简单应用题

1 turtle库

考察知识点:

题目1:五角星星

题目2:绘制等边三角形

题目3:绘制十字形

 题目4:正方形内夹圆

* 题目5:直方坐标图

2 文本文件读取

考察知识点: 

题目1:

题目2:

 题目3:(包含字典应用)

3 字典应用

考察知识点:

问题1:

问题2:

4.列表

题目1:计算两个列表对应元素乘积的和

5.其他

题目1:获得用户的非数字输入(根据while循环)

 四、综合应用题

题目1:

题目2:(知识点:文件读取写入、字典应用)

问题1:(文件读取写入)

 问题2:(字典应用,排序)

 题目3:

问题1:(文件读取写入,去掉空格和空行)

问题2:(提纯文件,去掉所有小括号及内部数字,替换.replace()函数)

 题目4:

问题1:(文件读取和写入,统计文件字符次数并排序)

问题2:(输出前十个最高字符)

 问题3:(文件写入,新文件输出前十个最高字符及其频次)


 

 一、选择题

1.在Python语言中:

  • 安装与管理第三库的是pip
  • 安装一个第三方库的命名格式是:pip install,而 pip uninstall 是卸载
  • 属于web开发框架第三方库的是Flask库、Tornado库、Django库、Pyramid库
  • 数据分析库:numpy库、pandas库、matplotlib库、scipy库
  • 爬虫第三方库:scrapy库
  • 机器学习领域第三方库:turtle(图形绘制库)、numpy(数字计算库)、pygname(游戏开发库)
  • 能够处理图像的第三方库:PIL
  • 数据可视化第三方库:Mayavi
  • openpyxl(文字处理库)、PyQt5(界面开发库)、Arcade(图形处理库)
  • 游戏开发库:pygame、pandas
  •  

2.知识点

  • random.randint(a,b)随机生成 a(包含)到 b(包含)的随机整数
  • 某台微机安装的是64位操作系统,“64位”指的是( )。

            CPU的字长,即CPU每次能处理64位二进制数据

知:通常将计算机一次能够并行处理的二进制数称为字长,也称为计算机的一个“字”。字长是计算机的一个重要指标,直接反映一台计算机的计算能力和精度。计算机的字长通常是字节的整数倍,如8位、16位、32位、64位等

  • 以下语句的执行结果是()
    dd={ 'a':90,'b':87,'c':93 }
    print(max(dd),min(dd))     A.c a   B.93 90  C.c b  D.93 87

max(x)、min(x)当x是字典时,获取x中最大的键或最小的键,故本题选A

  • 函数定义语法: def<函数名>(<非可选参数列表>,<可选参数>=<默认值>) ,n是非可选参数
  • 全局变量和局部变量的命名可以相同的
  • Python是一种编程语言,它的特点有:简单易学、免费开源、可移植性跨平台、可扩展、可嵌入型、跨平台  注:网络编程语言不是它的特点
  • 高级语言分为静态语言(编译方式执行)和脚本语言(解释方式执行),Python是脚本语言,C是静态语言。编译:源代码转换为目标代码。解释:将源代码转换为目标代码同时运行目标代码。

 

二、基本操作题

  • 1. jieba库

考点知识点  :

1)jieba是优秀的中文分词第三方库,需要额外安装    ,中文文本需要通过分词获得单个的词语      

2) jieba分词的三种模式:(s是字符串,结果返回一个列表类型的分词结果)

       精确模式、全模式、搜索引擎模式

  jieba.lcut(s) 精确模式:把文本精确的切分开,不存在冗余单词:

import jieba
print(jieba.lcut("中国是一个伟大的国家"))
# >>>['中国', '是', '一个', '伟大', '的', '国家']

 ② jieba.lcut(s,cut_all=True) 全模式:把文本中所有可能的词语都扫描出来,有冗余:

import jieba
print(jieba.lcut("中国是一个伟大的国家",cut_all=True))
# >>>['中国', '国是', '一个', '伟大', '的', '国家']

jieba.lcut_for_search(s) 搜索引擎模式:在精确模式基础上,对长词再次切分

import jieba
print(jieba.lcut_for_search("中华人民共和国是伟大的"))
# >>>['中华', '华人', '人民', '共和', '共和国', '中华人民共和国', '是', '伟大', '的']

 题目1:

857e6f32b8fc43779ee620e24fd1f33d.png

 答案:

0cbe85813568433c8cee4c9310224623.png

 

 

  • 2. format格式化输出

考查知识点:

7ad23e41c5c64ce4b1cacda8ffcdded3.png

 重点注意:

1)千分位分隔符

>>> "{:04}".format(1)
'0001'   // 4个字符,默认情况下右对齐,不足空位用0填充

>>> "{:0^9}".format(1)
'000010000'  // ^表示中间对齐,9个字符,不足的用0填充

>>> "{:,}".format(1234)
'1,234'  // 千分位分隔符 即:将1234转化为1,234

>>> "{:b}".format(3)
'11' // b表示将十进制数转化为二进制数,o八进制,x十六进制

 {:->20,} ——20个字符,向右对齐,不足用-填充,千分位分隔

题目1:

8c97c5709b7d42f9ab32213063b8ee61.png

 

考点:

1)格式化输出

2)ord(x)函数——将字符转换为整数,即用于获取ASCII给定字符的

chr(x)函数 ——输入一个十进制或十六进制数字,返回其在Unicode编码中对应的文字或符号

ord("a")  #返回字母a对应的ASCII码:97
ord("aa")  #报错,参数不能是字符串,只能是字符


chr(97) #返回字母a
chr(20320) #返回汉字 “你”

 答案:bbab4865e4044a8187d9101a3ea35431.png

 

 

  • 3 random库

考察知识点:常考

ddcddcfe598d4bcb9657363610a3b8d3.png

 

题目1:import random随机数

1a5b9f672910455983735a4824f022bd.png

 random.seed()   ——随机数种子————常考

用于指定随机数生成时所用算法开始的整数值,如果使用相同的 seed() 值,则每次生成的随机数都相同

答案:

90f2f8afca2c414cbf7e11ffa60410e5.png

 

题目2:

e9d3aec427924ea99f2d59998ac2ca71.png

 答案:

265ef2c39f854056bf55673b37b8cfae.png

 

 

题目3:随机

138fafaaf0e440b19f4a2b594655c610.png

答案:

b5c3ab76dc3e4bb6862cec18346f69dd.png

  • 4.列表

考察知识点:

23bc351f19ec4262964bd41c4b4d0952.png

 

题目1:

fd7113de76a64539967bce212b1a95c0.png

 答案:

89cb691b48464e4e84501ce556915aed.png

 

 

  • 5.其他

题目1 求解两点之间的距离

ccfec8199aec45aea1fed14877080e24.png

考点:.split()函数:

拆分字符串,通过指定分隔符对字符串进行切片,并返回分割后的字符串列表

 答案:

bbc0c351f418493c8d1f335caba5bd7d.png

 题目2:斐波那契数列

db031108958b48de8a9d71359472e87f.png

 

答案:

2c099b3b757840fd9b65f0959fef1606.png

 题目3: 两个列表对应数相乘再累加

8ac230e872174f7fa9ad8016f4cb1fa0.png

 答案:

2aa24a30cdfd43aaae2ec4be4c17f2a1.png

 

题目4:字符串逆序

34ff831cdc62437cbcdd189c5c8ecc5b.png

 答案:

7fe291b99a624723b7f391fca78cc1cf.png

 

 

三、简单应用题

  • 1 turtle库

考察知识点:

 

7109d39bc7a84f969bf7854519895acc.png

 

重点注意:

  • turtle.seth(i * 90)  .seth(旋转角度)表示逆时针旋转到多少度,假设水平向右为正方向,则每次执行一次.seth()即从正方向旋转到多少角度,不会旋转了90度,再紧接着继续旋转90度,会重新恢复原正方向旋转180度
  • turtle.goto(x,y):由当前坐标前往指定坐标,这里使用绝对坐标,但画笔方向不会改变
  • 画笔的状态

    在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟

  • turtle.pendown()—移动时绘制图形,缺省时也为绘制 turtle.goto(x,y)—将画笔移动到坐标为x,y的位置

  • turtle.penup()—提起笔移动,不绘制图形,用于另起一个地方绘制(如题目5)

5572664e6bcf4399a86a014fb75c0f46.png

 turtle库具体讲解见:https://jianshike.blog.csdn.net/article/details/117955687

https://jianshike.blog.csdn.net/article/details/107601162

turtle.speed(5)设置画笔的移动速度,画笔绘制的速度范围在[0,10]整数之间,数字越大,画笔移动的速度越快。

 

 

 

turtle.right(45)/rt(45)画笔顺时针移动45度
turtle.left(45)/lt(45)画笔逆时针移动45度

 

 

 

turtle.forward(100)/fd(100)画笔向当前方向移动100像素距离

 

 

 

题目1:五角星星

6dc2506d973f4c93ae07aacceff283e7.png

题目2:绘制等边三角形

c08c3de105b24b12bbfd85fb03e75be4.png

 答案:

ef064e23ecf14651b00b59b1319da01e.png

 

题目3:绘制十字形

48ecdce2aaca4e0db9227e0436f45dd2.png

 答案:

ca78fe29e1b245d9bc7d51ca74ed7356.png

 题目4:正方形内夹圆

f568653b1f244d05904e2100a4cfec5e.png

注意(2)问旋转多少度

 答案:

78df6200c2b447129cd9a718d54fa171.png

 

* 题目5:直方坐标图

9727146592ee45a88ad6e56f72bfddda.png

 答案:

e9f5d470a437492f803c999695909b87.png

 

 

  • 2 文本文件读取

考察知识点: 

笔记见:https://blog.csdn.net/m0_73809176/article/details/128025032

1564e89d19444f09a127f8e06f6c3c17.png

 

题目1:

4982601f369d4dc89132f1d3ec763542.png

 0ffe91086b8e4bb48cf944211404db7e.png

答案:

2bfd74439e564ee69130e739a5dd457f.png

 

题目2:

问题一:

542ddd77fe7a426191c75c031e6df2f7.png

 答案:

cd533e017c8f430eb0a3aff4f9f7562b.png

 问题二:

c13eb2ddf2374ca898a18257f9429daf.png

 答案:

0d332b5e0f544bcfb2806fe2fa2e4e17.png

 

 

 题目3:(包含字典应用)

145413b719394a72ad506ada56c617d1.png

 答案:

f49775fa8bdd4baf9224b13814e4cc3a.png

 

 

  • 3 字典应用

考察知识点:

1)dict.get(key, default=None)     ——字典get() 函数返回指定键key的值,如果值不在字典中返回默认值。

  • key -- 字典中要查找的键。
  • default -- 如果指定键的值不存在时,返回该默认值值。

 2)dict.items()函数      ——以列表形式返回可遍历的(键, 值) 元组数组常与for循环搭配


a={'a':1,'b':2,'c':3}
print(a.items())
for key,value in a.items():
    print("key:",key)
    print('value;',value)

 输出:

dict_items([('a', 1), ('b', 2), ('c', 3)])
key: a
value; 1
key: b
value; 2
key: c
value; 3

3)重点代码###   100%

     d[m] = d.get(m,0) +1

ls = list(d.items())     # ls = [(键,值),(),()...]

ls.sort(key=lambda x:x[1], reverse=True)   # reverse=True表示降序

问题1:

269d6aba863a4de0b388268d112e8832.png

 答案:

29a500619847487297f451ebdfc9bd08.png

  注:

x即表示('理工',2),x[1]即表示2

问题2:

4c12433797d5405baca27102084cdcbf.png

 f428d6f357d242aeb1082cc3585d175c.png

注:while循环,当输入为空,即False,结束循环

 答案:

da8a8e90109942fcb4ae4b2be501da91.png

 

print("最高分课程是{} {},最低分课程是 {} {}, 平均分是{:.2f}".format(ls[0][0],ls[0][1],ls[-1][0],ls[-1][1],ag)

注:排序那重点

  • 4.列表

题目1:计算两个列表对应元素乘积的和

d48cb897df6d45a185077c8f94ef217e.png

 答案:

5260b77eb50e4d3dbc516aeefe5bfe66.png

 

  • 5.其他

题目1:获得用户的非数字输入(根据while循环)

d227c0e6d1a64b37ac8c68114ba424b8.png

 答案:

610fc7830ab04365abebc27526fcac7e.png

 

 

 

 四、综合应用题

题目1:

fa347c2445d84625ac2fbfee1656eaca.png

换行符:\n

ef58efed1b9d4a809cc212007897bebb.png

 items() 函数以列表返回可遍历的(键, 值) 元组数组。https://blog.csdn.net/qq_42111085/article/details/124589180?ops_request_misc=&request_id=&biz_id=102&utm_term=python%E4%B8%ADitems%E5%87%BD%E6%95%B0%E7%9A%84%E7%94%A8%E6%B3%95&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-124589180.142^v73^insert_down2,201^v4^add_ask,239^v2^insert_chatgpt&spm=1018.2226.3001.4187https://blog.csdn.net/qq_42111085/article/details/124589180?ops_request_misc=&request_id=&biz_id=102&utm_term=python%E4%B8%ADitems%E5%87%BD%E6%95%B0%E7%9A%84%E7%94%A8%E6%B3%95&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-124589180.142%5Ev73%5Einsert_down2,201%5Ev4%5Eadd_ask,239%5Ev2%5Einsert_chatgpt&spm=1018.2226.3001.4187问题(1):

b166e1a675a14fd8a190b0d7c714252b.png

 

问题(2):

75bde605246c4bb98a90b7ba65b166f8.png

 

题目2:(知识点:文件读取写入、字典应用)

问题1:(文件读取写入)

91b9dfdfced64ede86edade9309b93ec.png

注:

  • line.strip("\n").split(',')  表示去除换行符(\n),以逗号分隔成列表形式。
  • 注意 ls[1] == ' earpa001' 里面的earpa001前有一个空格,##易错

 答1:

3780212f409c4d9185d5e3ac5c28157d.png

 问题2:(字典应用,排序)

285969bf736f4f64baa484c303e3104d.png

注:

  • d[m] = d.get(m,0) + 1表示查找字典d中是否有m这个键,若有,则返回键m对应的值;若无,则返回0.假设没有,d[m] = 0 + 1(=1)表示键 = 值,即向字典d中加入 键:值
  • dict.items()函数      ——以列表形式返回可遍历的(键, 值) 元组数组常与for循环搭配        [(键,值),(),()...]
  • reverse = True 表示降序

 答案2:

137c0d189da94e8797309d8b477c4122.png

 题目3:

问题1:(文件读取写入,去掉空格和空行)

5e2d50562bf64866883ef1dfd8789938.png

 注:

  • line = line.strip(" \n"),在\n前面有个空格,即表示去除行首尾的空格、换行符

答案1:

2069ca52c87d49af887c9586fa409a21.png

问题2:(提纯文件,去掉所有小括号及内部数字,替换.replace()函数)

d939fecebe884ba1b1aeff0e7ad94e46.png

 注:

  • replace()方法语法:

    str.replace(old, new[, max])   

把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

答案2:

5ac601403cdb4ad5b747382a4955e8fe.png

 题目4:

问题1:(文件读取和写入,统计文件字符次数并排序)

fbc559ae628e42fca06a7ab71e046279.png

 

答案1:答案不严谨,这儿的标点符号不代表全部

ce7853321f9d478fa39786471d1053ce.png

 

问题2:(输出前十个最高字符)

7bbb65fcc2544a0ba2ced8d2e133f80d.png

 答案2:答案与问题1部分相似(注:只要求字符,没有其频数)

283d998d9dc64c759360a2e72162ae70.png

 问题3:(文件写入,新文件输出前十个最高字符及其频次)

a1668e13e0544204b58e9dd78298a177.png

注:

  • '{}:{}'.format(k[0],k[1]) 其中k[0],k[1]表示 键,值
  • fo.write(s[:-1])表示从第一个(包含)到最后一个(不包含),即去除最后一个

答案3:

5200c65404124f82a08bdc4402215fdb.png

 

题目5:

问题1:文件写入读取、jieba库

0b035b523a584a53a871a81b2ce97e2f.png

注:

  • 'sep'.join(object)   ——join函数

    1)参数说明

    sep:分割符,可为“,、;”等。

    object:分割对象,可为字符串、以及储存字符串的元组、列表、字典。

   2)用法:连接任意数量的字符串(包括要连接的元素字符串、元组、列表、字典),用新的目标分隔符连接,返回新的字符串。

 

 答案1:

b4a75a620e34438094a587f08ce6469b.png

 问题2:

a14dfb3c5e0f4695b5bce9a9a329bfbf.png

 答案2:

075ed127e1fe4546aa122c8646beeded.png

 题目6:

a9f6b02f2b0e44e1892dacc8b6bc15c6.png

 

问题1:jieba库、文件读取写入

f315185016f44f2593f8b02ea940c235.png

 

答案1:

fda16da40c364aa49dd15b9199667849.png

 

问题2:字典应用及排序

616ca12c844d4eb7ba07158787d5b89d.png

 答案2:

b88a799bc0fe415382d45f4490ec8519.png

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值