• python二级备考(2)-简单应用题


    第1套

    使用turtle库的turtle. right()函数和turtle.fd()函数绘制一个菱形,边长为200像素,4个内角度数为2个60度和2个120度

    键盘输入一组人员的姓名、性别、年龄等信息,信息间采用空格分隔,每人一行,空行回车结束录入,示例格式如下:

    张三 男 23

    李四 女 21

    王五 男 18

    计算并输出这组人员的平均年龄(保留2位小数)和其中男性人数,格式如下:

    平均年龄是20.67 男性人数是2

    1. # 以下代码为提示框架
    2. # 请在...处使用一行或多行代码替换
    3. # 请在______处使用一行代码替换
    4. #
    5. # 注意:提示框架代码可以任意修改,以完成程序功能为准
    6. data = input() # 姓名 性别 年龄
    7. s=0
    8. n=0
    9. i=0
    10. while data:
    11. i=i+1
    12. ls=data.split()
    13. s=s+int(ls[2])
    14. if ls[1]=='男':
    15. n=n+1
    16. data = input()
    17. s=s/i
    18. print("平均年龄是{:.2f} 男性人数是{}".format(s,n))

    第2套

    使用turtle库的turtle.fd()函数和turtle. seth()函数绘制一个边长为200的正菱形,菱形4个内角均为90度。

    效果如下图所示,箭头与下图严格一致。

    1. # 请在______处使用一行代码替换
    2. #
    3. # 注意:请不要修改其他已给出代码
    4. import turtle
    5. turtle.pensize(2)
    6. d = -45
    7. for i in range(4):
    8. turtle.seth(d)
    9. d += 90
    10. turtle.fd(200)

     

    键盘输入某班各个同学就业的行业名称,行业名称之间用空格间隔(回车结束输入)。完善Python代码,统计各行业就业的学生数量,按数量从高到低方式输出。例如输入:

    交通 金融 计算机 交通 计算机 计算机

    输出参考格式如下,其中冒号为英文冒号:

    计算机:3

    交通:2

    金融:1

    1. # 以下代码为提示框架
    2. # 请在...处使用一行或多行代码替换
    3. # 请在______处使用一行代码替换
    4. #
    5. # 注意:提示框架代码可以任意修改,以完成程序功能为准
    6. names=input("请输入各个同学行业名称,行业名称之间用空格间隔(回车结束输入):")
    7. t=names.split()
    8. d = {}
    9. for c in range(len(t)):
    10. d[t[c]]=d.get(t[c],0)+1
    11. ls = list(d.items())
    12. ls.sort(key=lambda x:x[1], reverse=True) # 按照数量排序
    13. for k in range(len(ls)):
    14. zy,num=ls[k]
    15. print("{}:{}".format(zy,num))

    第3套

    和第2套差不多

    第4套

    还是画图化等边三角形

    第二题,

    键盘输入小明学习的课程名称及考分等信息,信息间采用空格分隔,每个课程一行,空行回车结束录入,示例格式如下:

    数学 90

    语文 95

    英语 86

    物理 84

    生物 87

    屏幕输出得分最高的课程及成绩,得分最低的课程及成绩,以及平均分(保留2位小数)。

    注意,其中逗号为英文逗号,格式如下:

    最高分课程是语文 95,最低分课程是物理 84,平均分是88.40

    1. # 以下代码为提示框架
    2. # 请在...处使用一行或多行代码替换
    3. # 请在______处使用一行代码替换
    4. #
    5. # 注意:提示框架代码可以任意修改,以完成程序功能为准
    6. data = input() # 课程名 考分
    7. ls = data.split()
    8. min_score=int(ls[1])
    9. min_name = ls[0]
    10. max_score=int(ls[1])
    11. max_name = ls[0]
    12. n = 0
    13. sum = 0
    14. while data:
    15. n+=1
    16. lt = data.split()
    17. if min_score > int(lt[1]):
    18. min_score = int(lt[1])
    19. min_name = lt[0]
    20. if max_score < int(lt[1]):
    21. max_score = int(lt[1])
    22. max_name = lt[0]
    23. sum+=int(lt[1])
    24. data = input()
    25. avg = sum/n
    26. print("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(max_name,max_score,min_name,min_score,avg))

    第5套

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

    难的题目出现!

    加了文件读写

    使用字典和列表型变量完成村长选举。某村有40名有选举权和被选举权村民,名单由考生文件夹下文件name.txt给出,从这40名村民中选出一人当长,40人的投票信息由考生文件夹下文件vote.txt给出,每行是一张选票的信息,有效票中得票最多的村民当选。

    问题1:请从vote.txt中筛选出无效票写入文件vote1.txt。有效票的含义是:选票中只有一个名字且该名字在name.txt文件列表中,不是有效票的票称为无效票。

    问题2:给出当选村长的名字及其得票数。

    1. '''
    2. '''
    3. f=open("name.txt")
    4. names=f.readlines()
    5. f.close()
    6. f=open("vote.txt")
    7. votes=f.readlines()
    8. f.close()
    9. f=open("vote1.txt","w")
    10. D={}
    11. NUM=0
    12. for vote in votes:
    13. num = len(vote.split()) #分解成列表,并求列表长度(元素个数)
    14. if num==1 and vote in names: #仅一个且在姓名中,有效
    15. D[vote[:-1]]=D.get(vote[:-1],0)+1
    16. NUM+=1
    17. else:
    18. f.write(vote)
    19. f.close()
    20. l=list(D.items())
    21. l.sort(key=lambda s:s[1],reverse=True)
    22. name=l[0][0]
    23. score=l[0][1]
    24. print("有效票数为:{} 当选村长村民为:{},票数为:{}".format(NUM,name,score))

    挖空地方:

    第6套

    五边形÷的是72

    使用字典和列表型变量完成最有人气的明星的投票数据分析。投票信息由考生文件夹下文件vote.txt给出,一行只有一个明星姓名的投票才是有效票。有效票中得票最多的明星当选最有人气的明星。

    问题1:请统计有效票张数。在考生文件夹下给出了程序框架文件PY202-1.py,补充代码完成程序(7分)

    问题2:请给出当选最有人气明星的姓名和票数,在考生文件夹下给出了程序框架文件PY202-2.py,补充代码完成程序(8分)。

    1. # 请在______处使用一行代码或表达式替换
    2. #
    3. # 注意:请不要修改其他已给出代码
    4. f = open("vote.txt")
    5. names = f.readlines()
    6. f.close()
    7. n = 0
    8. for name in names:
    9. num = len(name.split())
    10. if num==1:
    11. n+=1
    12. print("有效票{}张".format(n))
    1. # 请在______处使用一行代码或表达式替换
    2. #
    3. # 注意:请不要修改其他已给出代码
    4. f = open("vote.txt")
    5. names = f.readlines()
    6. f.close()
    7. D = {}
    8. for name in names:
    9. if len(name.split())==1:
    10. D[name[:-1]]=D.get(name[:-1],0) + 1
    11. l = list(D.items())
    12. l.sort(key=lambda s:s[1],reverse=True)
    13. name = l[0][0]
    14. score = l[0][1]
    15. print("最具人气明星为:{},票数为:{}".format(name,score))

    第7套

    十二边形,30

    计算两个列表ls和lt此对应元素乘积的和(即向量积),补充PY202.py文件。

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

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

    第8套

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

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

    第9套

    在考生文件夹下有个文件PY201.py,在横线处填写代码,完成如下功能。根据列表中保存的数据采用turtle库画图直方图,显示输出在屏幕上

    1. #
    2. # 在____________上补充代码
    3. # 请不要修改其他代码
    4. #
    5. import turtle as t #更简洁地调用turtle库
    6. ls = [69, 292, 33, 131, 61, 254]
    7. X_len = 400
    8. Y_len = 300
    9. x0 = -200
    10. y0 = -100
    11. t.penup()
    12. t.goto(x0, y0)
    13. t.pendown()
    14. t.fd(X_len)
    15. t.fd(-X_len)
    16. t.seth(90) #设置笔的起始角度
    17. t.fd(Y_len)
    18. t.pencolor('red')
    19. t.pensize(5)
    20. for i in range(len(ls)):
    21. t.penup() #提起画笔
    22. t.goto(x0 + (i+1)*50, y0) #移到绝对坐标处,这里x坐标动,y坐标不动
    23. t.seth(90)
    24. t.pendown() #放下画笔
    25. t.fd(ls[i]) #表示直线爬行的距离
    26. t.done()

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

    1. #
    2. # 在......上补充一行或多行代码
    3. # 不得修改其他代码
    4. #
    5. import random
    6. random.seed(2)
    7. pdict= {'Alice':['123456789'],
    8. 'Bob':['234567891'],
    9. 'Lily':['345678912'],
    10. 'Jane':['456789123']}
    11. name = input('请输入一个人名:')
    12. if name in pdict:
    13. print("{} {} {}".format(name,pdict.get(name)[0],random.randint(1000,9999)))
    14. else:
    15. print("对不起,您输入的用户信息不存在。")

    第10套

    利用random库和turtle库,在屏幕上绘制5个圆圈,圆圈的半径和圆心的坐标由randint()函数产生,圆的X和Y坐标范围在[-100,100]之间;半径的大小范围在[20,50]之间,圆圈的颜色随机在color列表里选择。

    1. #
    2. # 在____________上补充代码
    3. # 请不要修改其他代码
    4. #
    5. import turtle as t
    6. import random as r
    7. color = ['red','orange','blue','green','purple']
    8. r.seed(1)
    9. for i in range(5):
    10. rad = r.randint(20,50)
    11. x0 = r.randint(-100,100)
    12. y0 = r.randint(-100,100)
    13. t.color(r.choice(color))
    14. t.penup()
    15. t.goto(x0,y0)
    16. t.pendown()
    17. t.circle(rad)
    18. t.done()

    在考生文件夹下有个文件PY202.py,定义了一个6个浮点数的一维列表lt1和一个包含3个数的一维列表lt2。

    示例如下:

    lt1=[0.69,0.292,0.33,0.131,0.61,0.254]

    lt2=[0.1,0.8,0.2]

    在横线处填写代码,完成如下功能。计算lt1列表跟lt2列表的向量内积,两个向量X=[x1,x2,x3]和Y=[y1,y2,y3]的内积计算公式如下:

    k=x1*y1+x2*y2+x3*y3

    将每次计算的两组对应元素的值、以及对应元素乘积的累计和(k)的值显示在屏幕上格式如下所示。

    k=0.069,lt2[0]=0.100,lt1[0+0]=0.690

    k=0.303,lt2[1]=0.800,lt1[0+1]=0.292

    k=0.369,It2[2]=0.200,lt1[0+2]=0.330

    ... (略)

  • 相关阅读:
    七牛云 vue 图片上传简单解说,js 上传文件图片
    使用go语言开发自动化API测试工具
    PIL学习
    2022年能源,电力与电气工程国际研讨会(CoEEPE 2022)
    wo-gradient-card是一款采用uniapp实现的透明辉光动画卡片
    25、业务层标准开发(也就是service)
    偏向锁,轻量级锁,重量级锁的核心原理
    JavaSE - 深度探讨继承与多态,私有成员是否被继承问题
    谷歌紧急更新,Chrome 今年第二个零日漏洞曝光
    【云原生 · Kubernetes】kubernetes v1.23.3 二进制部署(三)
  • 原文地址:https://blog.csdn.net/qq_32765617/article/details/136762552