计算机二级python简单应用题刷题笔记(一)

计算机二级python简单应用题刷题笔记(一)

    • 1、词频统计:键盘输入一组我国高校所对应的学校类型,以空格分隔,共一行。
    • 2、找最大值、最小值、平均分:键盘输入小明学习的课程名称及考分等信息,信息间采用空格分隔,每个课程一行,空行回车结束录入。
    • 3、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个等边三角形,边长为200像素,效果如下下图所示:
    • 4、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个每方向为100像素长度的十字形
    • 5、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100的正八边形
    • 6、村长选举
    • 7、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100的正五边形
    • 8、使用字典和列表型变量完成最有人气的明星的投票数据分析
    • 9、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为40像素的正12边型
    • 10、计算两个列表ls和lt对应元素乘积的和(即向量积)
    • 11、使用turtle库的turtle.fd()函数和turtle.left()函数绘制一个边长为200像素的正方形及一个紧挨四个顶点的圆形
    • 12、获得用户的非数字输入,如果输入中存在数字,则要求用户重新输入,直至满足条件为止,并输出用户输入字符的个数
    • 13、根据列表中保存的数据采用turtle库画直方图,显示输出在屏幕上。
    • 14、在已定义好的字典pdict里有一些人名及其电话号码,请用户输入一个人的姓名,在字典中查找该用户的信息,如果找到生成一个四位数字的验证码,并将名字、电话号码和验证码输出在屏幕上,如果找不到该用户信息,则显示“对不起,您输入的用户信息不存在”。

接下来就进入简单应用题啦~感觉会越来越难就连视频时长都变成十几分钟了一起加油吧
许愿许愿我要优秀!
其中代码可以任意修改,以完成程序功能为准。

1、词频统计:键盘输入一组我国高校所对应的学校类型,以空格分隔,共一行。

代码提示框架:

txt = input("请输入类型序列:")
...
d = {}
...
ls = list(d.item())
ls.sort(key=lambda x:x[1],reverse=True)
for k in ls:print("{}:{}".format(k[0],k[1]))

参考示例

txt = input("请输入类型序列:")
a = txt.split()#将得到的txt文件分隔开 a = ['综合','理工',...]
d = {}
for i in range(len(a)):#词频统计d[a[i]] = d.get(a[i],0) + 1#第一次综合不存在则将0赋给综合,综合 = 0+1#第二次理工不存在则理工 = 0+1#第三次综合存在则综合+1...
ls = list(d.items()) #包含d这个字典键值对信息的列表
#print(ls)
ls.sort(key=lambda x:x[1], reverse=True) #按照数量排序
for k in ls:print("{}:{}".format(k[0],k[1]))

当然这个词频统计也可以直接将其背下,后面关于这方面的直接写就好~不过据说这个搞得很复杂,直接遍历好像更简单点,感兴趣的小伙伴可以尝试一下这里就不做了我们直接看下一题

2、找最大值、最小值、平均分:键盘输入小明学习的课程名称及考分等信息,信息间采用空格分隔,每个课程一行,空行回车结束录入。

这个题主要分为三个部分:
1、数据输入
这部分的要求是一直保持输入状态,直到输入回车后结束输入
2、数据处理
排序功能(字典作为辅助,然后用列表方法进行排序),计算平均分
3、数据输出

data = input()
d = {}
while data:tem = data.split()#tem = [课程名,考分]d[tem[0]] = tem[1]#使tem的键课程名等于它的值考分data = input()
#排序 背背背
ls = list(d.items())#将字典d转换为一个包含键-值对元组的列表(item用法)
ls.sort(key = lambda x:x[1], reverse = True)#对列表ls进行降序排序
#计算平均分
ag = 0
for i in d.values():ag = ag + int(i)
ag = ag/len(ls)
print("最高分课程是{} {},最低分课程是{} {},平均分是{:.2f}".format(ls[0][0],ls[0][1],ls[-1][0],ls[-1][1],ag))

3、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个等边三角形,边长为200像素,效果如下下图所示:

turtle库常用函数

pendown(): 放下画笔
penup():提起画笔,与pendown()配对
forward(distance):沿着当前方向前进指定距离
backward(distance):沿着当前相反方向后退指定距离
right(angle):向右旋转angle角度
left(angle):向左旋转angle角度
goto(x,y):移动到绝对坐标(x,y)处
seth(angle):设置当前朝向为angle角度
circle(radius,e):绘制一个指定半径r和角度e的圆或弧形
pensize(width):设置画笔线条的粗细为指定大小
pencolor():设置画笔的颜色
import turtle as 
for i in range():(i*120)t.fd(200)
import turtle as t
for i in range(3):t.seth(i*120)t.fd(200)

这个新题型但是题目给出了要用的函数还是简单的,如果没有给的话,抓紧看看上面的函数

4、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个每方向为100像素长度的十字形

import turtle
for i in range(4):turtle.fd(100)(-100)((i+1)*90)
import turtle
for i in range(4):turtle.fd(100)turtle.fd(-100)turtle.seth((i+1)*90)

5、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100的正八边形

import turtle
turtle.pensize(2)
d=0
for i in range(1,):d+=turtle.seth(d)
import turtle
turtle.pensize(2)
d = 0
for i in range(1,9):turtle.fd(100)d += 40turtle.seth(d)

6、村长选举

f=open("name.txt")
names=f.readlines()
f.close()
f=open("vote.txt")
votes=f.readlines()
f.close()
f.close()
f=open("votel.txt","w")
D={}
NUM=0
for vote in :num = len(vote.split())if num==1 and vote in :D[vote[:-1]]=  +1 NUM+=1else:f.write()
f.close()
l=list(D.item())
l.sort(key=lambda s:s[1],  )
name=
score=
print("有效票数为:{} 当选村长村民为:{},票数为:{}".format(NUM,name,score))
f=open("name.txt")
names=f.readlines()
f.close()
f=open("vote.txt")
votes=f.readlines()
f.close()
f.close()
f=open("votel.txt","w")
D={}
NUM=0
for vote in votes:num = len(vote.split())if num==1 and vote in names:#判断是否为有效票D[vote[:-1]]=  D.get(vote[:-1],0)+1#统计频次NUM+=1else:f.write(vote)
f.close()
l=list(D.item())
l.sort(key=lambda s:s[1],reverse=True)
name=l[0][0]
score=l[0][1]
print("有效票数为:{} 当选村长村民为:{},票数为:{}".format(NUM,name,score))

7、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100的正五边形

import turtle
turtlr.pensize=(2)
d=0
for i in range(1,):d += turtle.seth(d)
import turtle
turtle.pensize = (2)
d = 0
for i in range(1,6):turtle.fd(100)d += 72turtle.seth(d)

8、使用字典和列表型变量完成最有人气的明星的投票数据分析

1、统计有效票

f = open("vote.txt")
names = f.readlines()
f.close()
n = 0
for name in names:num = len(name.split())if num==1:n+=1
print("有效票{}张".format(n))

2、请给出当选最具人气明星的姓名和票数

f = open("open.txt")
names = f.readlines()
f.close()
D = {}
for name in names:if len(name.split())==1:D[name[:-1]]= D.get(name[:-1],0)+1
l = list(D.item())
l.sort(key=lambda s:s[1],reverse=True)
name = l[0][0]
score = l[0][1]
print("最具人气明星为:{},票数为:{}".format(name,score))

记住不划横线的地方不能动,空格也不行!

9、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为40像素的正12边型

import turtle
turtle.pensize(2)
d=0
for i in range(1,13):turtle.fd(40)d+=30turtle.seth(d)

10、计算两个列表ls和lt对应元素乘积的和(即向量积)

ls = [111,222,333,444,555,666,777,888,999]
lt = [999,777,555,333,111,888,666,444,222]

ls = [111,222,333,444,555,666,777,888,999]
lt = [999,777,555,333,111,888,666,444,222]
s=0
for i in range(len(ls)):s += ls[i]*lt[i]
print(s)

2402595

11、使用turtle库的turtle.fd()函数和turtle.left()函数绘制一个边长为200像素的正方形及一个紧挨四个顶点的圆形

import turtle
turtle.pensize(2)
for i in range(1,5):turtle.fd(200)turtle.left(90)
turtle.left(315)
turtle.circle(100*pow(2,0.5))

12、获得用户的非数字输入,如果输入中存在数字,则要求用户重新输入,直至满足条件为止,并输出用户输入字符的个数

while True:s = input("请输入不带数字的文本:")flag = False #是一个标志变量,用于判断是否存在数字for i in s:if '0' <= i <= '9':#isdigitflag = Trueif flag == False:break
print(len(s))
while True:s = input("请输入不带数字的文本:")if not any(char.isdigit() for char in s):break
print(len(s))

13、根据列表中保存的数据采用turtle库画直方图,显示输出在屏幕上。

ls = [69,292,33,131,61,254]


ls = [69,292,33,131,61,254]
X_len = 400
Y_len = 300
x0 = -200
y0 = -100t.penup()
t.goto(x0,y0)
t.pendown()t.fd(X_len)
t.fd(-X_len)
t.seth()
t.fd(Y_len)t.pencolor('red')
t.pensize(5)
for i in range(len(ls)):t.t.goto(x0 + (i+1)*50,)t.seth(90)t.pendown()t.fd()
t.done()

在这里插入图片描述


import turtle as t
ls = [69,292,33,131,61,254]
X_len = 400
Y_len = 300
x0 = -200
y0 = -100t.penup()
t.goto(x0,y0)
t.pendown()t.fd(X_len)
t.fd(-X_len)
t.seth(90)
t.fd(Y_len)t.pencolor('red')
t.pensize(5)
for i in range(len(ls)):t.penup()t.goto(x0+(i+1)*50,y0)t.seth(90)t.pendown()t.fd(ls[i])
t.done()

14、在已定义好的字典pdict里有一些人名及其电话号码,请用户输入一个人的姓名,在字典中查找该用户的信息,如果找到生成一个四位数字的验证码,并将名字、电话号码和验证码输出在屏幕上,如果找不到该用户信息,则显示“对不起,您输入的用户信息不存在”。

import random
random.seed(2)
pdict={'Alice':['123456789'],'Bob':['234567891'],'Lily':['345678912'],'Jane':['456789123']}
name = input('请输入一个人名:')
.....

如何生成四位数字验证码
1、使用random.randint()生成随机整数

random.randint(1000, 9999)

2、使用random.sample()随机选择

digits = [str(i) for i in range(10)]
code_list = random.sample(digits, 4)
code = ''.join(code_list)

使用random.sample(population, k)函数从给定的population中随机选择k个不重复的元素。我们将数字0到9转换为字符串列表digits,然后使用random.sample()函数从中选择4个元素。最后,使用’'.join()将列表中的元素连接在一起,得到一个四位数字验证码。
3、 使用random.choice()随机选择

code_list = [str(random.randint(0, 9)) for _ in range(4)]
code = ''.join(code_list)

使用了列表推导式和random.choice()函数。列表推导式[str(random.randint(0, 9)) for _ in range(4)]生成一个包含四个随机数字的列表。然后,使用’'.join()将列表中的元素连接在一起,得到一个四位数字验证码。

import random
random.seed(2)
pdict={'Alice':['123456789'],'Bob':['234567891'],'Lily':['345678912'],'Jane':['456789123']}
name = input('请输入一个人名:')
if name in pdict:print('{} {} {}'.format(name,pdict.get(name)[0],random.randint(1000,9999)))
else:print("对不起,您输入的用户信息不存在")
祝大家二级都顺利通过~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/140500.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络笔记一】网络体系结构

IP和路由器概念 两台主机如何通信呢&#xff1f; 首先&#xff0c;主机的每个网卡都有一个全球唯一地址&#xff0c;MAC 地址&#xff0c;如 00:10:5A:70:33:61 查看 MAC 地址&#xff1a; windows: ipconfig / alllinux&#xff1a;ifconfig 或者 ip addr 同一个网络的多…

【计算机基础】让我们重新认识一下Visual Stduio及其操作,知识点汇总!!

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

Nodejs 相关知识

Nodejs是一个js运行环境&#xff0c;可以让js开发后端程序&#xff0c;实现几乎其他后端语言实现的所有功能&#xff0c;能够让js与其他后端语言平起平坐。 nodejs是基于v8引擎&#xff0c;v8是Google发布的开源js引擎&#xff0c;本身就是用于chrome浏览器的js解释部分&#…

C语言指向二维数组的四种指针以及动态分配二维数组的五种方式

文章目录 应用场景可能指向二维数组的指针动态分配二维数组 应用场景 当二维数组作为结构成员或返回值时&#xff0c;通常需要根据用户传递的参数来决定二维数组的大小&#xff0c;此时就需要动态分配二维数组。 可能指向二维数组的指针 如果现在有一个二维数组a[3][2]&…

OpenGLES:单纹理贴图

一.概述 最近疏于写博客&#xff0c;接下来会陆续更新这段时间OpenGLES的一些开发过程。 前两篇OpenGLES的博客讲解了怎样使用OpenGLES实现相机普通预览和多宫格滤镜 在相机实现过程中&#xff0c;虽然使用到了纹理&#xff0c;但只是在生成一个纹理之后&#xff0c;使用纹理…

vuepress+gitee免费搭建个人在线博客(无保留版)

文章目录 最终效果&#xff0c;一睹为快&#xff01;一、工具选型二、什么是VuePress三、准备工作3.1 node 安装3.2 Git安装3.3 Gitee账号注册 四、搭建步骤4.1 初始化VuePress4.2 安装VuePress4.3 初始化目录4.4 编写文章 五、部署到Gitee5.1 创建仓库5.2 个人空间地址设置4.3…

【JVM内存区域及创建对象的过程】

文章目录 JVM内存区域及创建对象的过程JVM内存区域JDK1.6、1.7、1.8内存区域的变化&#xff1f;创建对象的过程类的声明周期&#xff1a; JVM内存区域及创建对象的过程 JVM内存区域 JVM 内存区域最粗略的划分可以分为 堆 和栈&#xff0c;当然&#xff0c;按照虚拟机规范&…

2023华为杯数学建模竞赛E题

一、前言 颅内出血&#xff08;ICH&#xff09;是由多种原因引起的颅腔内出血性疾病&#xff0c;既包括自发性出血&#xff0c;又包括创伤导致的继发性出血&#xff0c;诊断与治疗涉及神经外科、神经内科、重症医学科、康复科等多个学科&#xff0c;是临床医师面临的重要挑战。…

Linux 操作技巧

目录 一、shell-命令解释器 二、Linux中的特殊符号 三、命令历史--history 一、shell-命令解释器 shell——壳&#xff0c;命令解释器&#xff0c;负责解析用户输入的命令 ——内置命令&#xff08;shell内置&#xff09; ——外置命令&#xff0c;在文件系统的某个目录下&…

如何取消显示Notepad++每行显示的CRLF符号

新电脑中重新安装了Nodepad&#xff0c;打开记事本后发现出现了许多黑底的CR|LF标记&#xff0c;特别碍眼。 如何取消呢&#xff1f; 视图 -> 显示符号 -> 取消勾选 显示行尾符操作步骤 预期效果

SpringBoot结合Vue.js+axios框架实现增删改查功能+网页端实时显示数据库数据(包括删除多条数据)

本文适用对象&#xff1a;已有基础的同学&#xff0c;知道基础的SpringBoot配置和Vue操作。 在此基础上本文实现基于SpringBoot和Vue.js基础上的增删改查和数据回显、刷新等。 一、实时显示数据库数据 实现步骤&#xff1a; 第1步&#xff1a;编写动态请求响应类&#xff1a…

Ubuntu上线一个JAVA环境微服务架构的系统

项目介绍 项目背景: 已经有一套系统,迁移部署到新服务器,并使用不同数据,相同框架,提供对应业务服务 单机测试,从裸机-系统安装-软件架构-部署-数据迁移-发版-上线,整体流程与思路分享,包含后端、数据,测试、网络、运维等相关事务。 项目目的: 部署并迁移系统,…

linux下CentOS安装mysql-5.7

linux下安装mysql只需要在root用户下安装&#xff0c;普通用户也能使用 1.检查&#xff1a; 通过以下两条命令查看改系统下是否已存在mysql。 ps ajx | grep mysql ps ajx | grep mariadb通过指令如果只显示如下两条信息&#xff0c;则当前系统下不存在MySQL。 就可以直接进…

【初阶数据结构】二叉树全面知识总结

二叉树详解 树的概念及其结构树的概念树的相关概念树的表示方法孩纸兄弟表示法双亲表示法&#xff08;并查集&#xff09; 树的实际应用 二叉树二叉树的概念二叉树的种类二叉树的性质二叉树的存储结构 二叉树顺序结构的实现堆的概念及结构堆向上、向下调整法堆的插入堆的删除堆…

华为云云耀云服务器L实例评测 | 使用Docker快速搭建博客系统

使用Docker快速搭建wordpress博客系统. 文章目录 使用Docker快速搭建wordpress博客系统.需要了解部署与管理工具介绍安装Docker配置镜像加速器下载镜像创建数据库容器创建wordpress博客容器访问博客初始化配置博客扩展和管理 WordPress总结 需要了解 本文主要讲述快速搭建自己的…

Apache Doris 快速入门

1. 基本概念 FE&#xff0c;Frontend&#xff0c;前端节点&#xff0c;接收用户查询请求&#xff0c;SQL解析&#xff0c;执行计划生成&#xff0c;元数据管理&#xff0c;节点管理等 BE&#xff0c;Backend&#xff0c;后端节点&#xff0c;数据存储&#xff0c;执行查询计划…

[npm]脚手架本地全局安装1

[npm]脚手架本地全局安装1 npm link 全局安装npm install 全局安装卸载全局安装的脚手架 该文章是你的脚手架已经开发完成的前提下&#xff0c;你想要本地全局安装该脚手架&#xff0c;便于本地使用脚手架的命令的情况 npm link 全局安装 如果本地开发的项目是个脚手架&#…

Redis学习笔记--002

Redis的JAVA客户端 文章目录 Redis的JAVA客户端一、Redis的Java客户端的种类二、Jedis2.1、使用步骤2.2、Jedis连接池 三、[SpringDataRedis](https://spring.io/projects/spring-data-redis)3.1、介绍3.2、RedisTemplate3.3、SpringDataRedis使用步骤3.4、SpringDataRedis的序…

10.1网站编写(Tomcat和servlet基础)

一.Tomcat: 1.Tomcat是java写的,运行时需要依赖jre,所以要装jdk. 2.建议配置好环境变量. 3.默认端口号8080(业务端口)可能会被占用,建议改一下(本人改成了9999). 4.另一个默认端口是8005(管理端口). 二Servlet基础(编写一个hello world代码): 整体分为7个步骤,分别是创建…

linux安装mysql8.0

最近在云服务器上部署服务&#xff0c;需要在linux端安装mysql8以上的版本&#xff0c;出现一些问题&#xff0c;记录一下。 1.首先卸载以前mysql版本。 &#xff08;1&#xff09;停止mysql服务。 systemctl stop mysqld.service (2)删除对应程序与文件。 查看安装…