计算机二级Python题目13

目录

1. 基本题

1.1 基本题1

1.2 基本题2

1.3 基本题3

2. turtle画图

3. 大题

3.1 大题1

3.2 大题2


1. 基本题

1.1 基本题1

ls=eval(input())
s=""
for item in ls:
    if type(item)==type("香山"):
        s+= item
print(s)

1.2 基本题2

import random
random.seed(25)
n=random.randint(1,100)
for m in range(1,7):
    x=eval(input("请输入猜测数字:"))
    if x==n:
        print("恭喜你,猜对了!")
        break
    elif x>n:
        print("大了,再试试")
    else:
        print("小了,再试试")
    if m==6:
        print("谢谢!请休息后再猜")

1.3 基本题3

def func(n):
    s=0
    if n%2==1:
        for i in range(1,n+1,2):
            s+=1/i
    else:
        for i in range(2,n+1,2):
            s+=1/i
    return s
number=int(input())
print("{:.2f}".format(func(number)))

注意:s=0; 和{:.2f}不要少了冒号

2. turtle画图

from turtle import *
color=['red','green','blue']
rs=[10,30,60]
for i in range(3):
    penup()
    goto(0,-rs[i])
    pendown()
    pencolor(color[i])
    circle(rs[i])
done()

turtle.circle()中的参数是圆的半径,逆时针画圆

3. 大题

3.1 大题1

import jieba
s=input("请输入一段中文文本,句子之间以逗号或句号分隔:")
slist=jieba.lcut(s)
m=0
for i in slist:
    if i in",。":
        continue
    else:
        m+=1
        print(i,end="/")
print("\n中文词语数是:{}\n".format(m))
poetry=''
for i in s:
    if i in ',。':
        print('{:^20}'.format(poetry))
        poetry=''
        continue
    poetry+=i

注意第二问的编程思路,以及continue的用法 

3.2 大题2

第一问:

f_data=open('data.txt','r',encoding="utf-8")
f_studs=open('studs.txt','w',encoding="utf-8")
ls=f_data.readlines()
for item in ls:
    a=item.strip().split(':')[0]+':'+item.split(',')[-1]
    f_studs.write(a)
f_data.close()
f_studs.close()

 f_studs.write()每行写完自带换行符

第二问:

f_data=open('data.txt','r',encoding="utf-8")
ls=f_data.readlines()
lst=[]
for item in ls:
    name=item.split(':')[0]
    score=item.split(',')[-1]
    lst.append([name,score])
lst.sort(key=lambda x:eval(x[1]),reverse=True)
print(lst[0][0]+':'+lst[0][1])
f_data.close()

 利用lst.append()向列表中增加元素;注意排序的程序写法

第三问:

 自己写的:

f_data=open('data.txt','r',encoding="utf-8")
ls=f_data.readlines()
d={}
p={}
for item in ls:
    classname=item.split(':')[-1].split(',')[0]
    score=item.split(',')[-1]
    d[classname]=d.get(classname,0)+int(score)#班级总分
    p[classname]=p.get(classname,0)+1#班级人数
for i in d:
    print("{}:{:.2f}".format(i,d[i]/p[i]))
f_data.close()


 参考答案:

f_data=open('data.txt','r',encoding="utf-8")
students=f_data.readlines()
d={}
for student in students:
    student=student.strip().split(':')
    Class,score=student[1].split(',')
    d[Class]=d.get(Class,[])+[eval(score)]#班级总分
for key in d:
    avg_score=sum(d[key])/len(d[key]) #每个key对应一个分数列表
    print("{}:{:.2f}".format(key,avg_score))
f_data.close()


 key对应的是一个列表

相关推荐

  1. Python计算机二级/Python期末考试 刷题(一)

    2024-03-17 14:52:02       43 阅读
  2. 计算机二级Python选择题考点——公共基础部分

    2024-03-17 14:52:02       46 阅读
  3. 计算机二级Python基本排序题-序号41(补充)

    2024-03-17 14:52:02       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-17 14:52:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 14:52:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 14:52:02       87 阅读
  4. Python语言-面向对象

    2024-03-17 14:52:02       96 阅读

热门阅读

  1. mysql报错日志查看

    2024-03-17 14:52:02       45 阅读
  2. Synchronized关键字的底层原理

    2024-03-17 14:52:02       40 阅读
  3. 令牌桶算法和漏桶算法

    2024-03-17 14:52:02       34 阅读
  4. 【Docker】Prometheus 容器部署及应用

    2024-03-17 14:52:02       40 阅读
  5. 华为机试真题练习汇总(51~60)

    2024-03-17 14:52:02       35 阅读
  6. c++算法学习笔记 (7) BFS

    2024-03-17 14:52:02       37 阅读
  7. redis配置文件详情

    2024-03-17 14:52:02       36 阅读
  8. Lambda表达式

    2024-03-17 14:52:02       39 阅读
  9. CSS中px、em、rem的区别及使用场景

    2024-03-17 14:52:02       40 阅读
  10. CSS 面试题及答案

    2024-03-17 14:52:02       39 阅读
  11. 安卓UI面试题 56-60

    2024-03-17 14:52:02       35 阅读
  12. Android启动优化

    2024-03-17 14:52:02       35 阅读