目录
问题2:(提纯文件,去掉所有小括号及内部数字,替换.replace()函数)
一、选择题
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:
答案:
-
2. format格式化输出
考查知识点:
重点注意:
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:
考点:
1)格式化输出
2)ord(x)函数——将字符转换为整数,即用于获取ASCII给定字符的值 。
chr(x)函数 ——输入一个十进制或十六进制数字,返回其在Unicode编码中对应的文字或符号
ord("a") #返回字母a对应的ASCII码:97
ord("aa") #报错,参数不能是字符串,只能是字符
chr(97) #返回字母a
chr(20320) #返回汉字 “你”
答案:
-
3 random库
考察知识点:常考
题目1:import random随机数
random.seed() ——随机数种子————常考
用于指定随机数生成时所用算法开始的整数值,如果使用相同的 seed() 值,则每次生成的随机数都相同
答案:
题目2:
答案:
题目3:随机
答案:
-
4.列表
考察知识点:
题目1:
答案:
-
5.其他
题目1 求解两点之间的距离
考点:.split()函数:
拆分字符串,通过指定分隔符对字符串进行切片,并返回分割后的字符串列表
答案:
题目2:斐波那契数列
答案:
题目3: 两个列表对应数相乘再累加
答案:
题目4:字符串逆序
答案:
三、简单应用题
-
1 turtle库
考察知识点:
重点注意:
- 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)
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:五角星星
题目2:绘制等边三角形
答案:
题目3:绘制十字形
答案:
题目4:正方形内夹圆
注意(2)问旋转多少度
答案:
* 题目5:直方坐标图
答案:
-
2 文本文件读取
考察知识点:
笔记见:https://blog.csdn.net/m0_73809176/article/details/128025032
题目1:
答案:
题目2:
问题一:
答案:
问题二:
答案:
题目3:(包含字典应用)
答案:
-
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:
答案:
注:
x即表示('理工',2),x[1]即表示2
问题2:
注:while循环,当输入为空,即False,结束循环
答案:
print("最高分课程是{} {},最低分课程是 {} {}, 平均分是{:.2f}".format(ls[0][0],ls[0][1],ls[-1][0],ls[-1][1],ag)
注:排序那重点
-
4.列表
题目1:计算两个列表对应元素乘积的和
答案:
-
5.其他
题目1:获得用户的非数字输入(根据while循环)
答案:
四、综合应用题
题目1:
换行符:\n
问题(2):
题目2:(知识点:文件读取写入、字典应用)
问题1:(文件读取写入)
注:
- line.strip("\n").split(',') 表示去除换行符(\n),以逗号分隔成列表形式。
- 注意 ls[1] == ' earpa001' 里面的earpa001前有一个空格,##易错
答1:
问题2:(字典应用,排序)
注:
- d[m] = d.get(m,0) + 1表示查找字典d中是否有m这个键,若有,则返回键m对应的值;若无,则返回0.假设没有,d[m] = 0 + 1(=1)表示键 = 值,即向字典d中加入 键:值
- dict.items()函数 ——以列表形式返回可遍历的(键, 值) 元组数组常与for循环搭配 [(键,值),(),()...]
- reverse = True 表示降序
答案2:
题目3:
问题1:(文件读取写入,去掉空格和空行)
注:
- line = line.strip(" \n"),在\n前面有个空格,即表示去除行首尾的空格、换行符
答案1:
问题2:(提纯文件,去掉所有小括号及内部数字,替换.replace()函数)
注:
-
replace()方法语法:
str.replace(old, new[, max])
把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
答案2:
题目4:
问题1:(文件读取和写入,统计文件字符次数并排序)
答案1:答案不严谨,这儿的标点符号不代表全部
问题2:(输出前十个最高字符)
答案2:答案与问题1部分相似(注:只要求字符,没有其频数)
问题3:(文件写入,新文件输出前十个最高字符及其频次)
注:
- '{}:{}'.format(k[0],k[1]) 其中k[0],k[1]表示 键,值
- fo.write(s[:-1])表示从第一个(包含)到最后一个(不包含),即去除最后一个
答案3:
题目5:
问题1:文件写入读取、jieba库
注:
-
'sep'.join(object) ——join函数
1)参数说明
sep:分割符,可为“,、;”等。
object:分割对象,可为字符串、以及储存字符串的元组、列表、字典。
2)用法:连接任意数量的字符串(包括要连接的元素字符串、元组、列表、字典),用新的目标分隔符连接,返回新的字符串。
答案1:
问题2:
答案2:
题目6:
问题1:jieba库、文件读取写入
答案1:
问题2:字典应用及排序
答案2: