首页 > 其他分享 >计算机二级

计算机二级

时间:2023-10-21 20:57:28浏览次数:24  
标签:二级 计算机 format len range ls print name

计算机二级

错题回看

简单应用:6.2	7.3		8.1		9.2		12.2	12.3	15套写法有问题注意
综合应用:8	9	

第三方库

# jieba库
jieba.lcut(s)	# 精确模式 返回一个列表类型

# random库
random.seed()	# 设置随机数种子
random()		# 生成一个[0.0, 1.0)之间的随机小数
randint(a,b)	# 生成一个[a,b]之间的整数
sample(pop,k)	# 从pop类型中随机选取k个元素,以列表类型返回
"""
import random

s = input("请输入随机种子: ")
ls = []
for i in range(26):
    ls.append(chr(ord('a')+i))
for i in range(10):
    ls.append(chr(ord('0')+i))
    
random.seed(eval(s))
for i in range(10):
    for j in range(8):
        print(ls[random.randint(0,35)],end='')
    print()
"""

# 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()				设置画笔的颜色

format格式化输出

{:+^11} 意思是:用 + 填充 居中对齐 总共11 
: 引导符号
<填充>	用于填充的单个字符
<对齐>	< 左对齐 > 右对齐
<宽度>	槽的设定 输出宽度
<,>		 数字的千位分隔符适用于整数和浮点数
<.精度>	浮点数小数部分的精度或字符串的最大输出长度
<类型>	整型b,c,d,o,x(16进制),X浮点  数字型e,E,f,%

列表

ls.insert(i,x)  # 在列表ls第i位置增加元素x
.join(ls)  # join的必须是字符串
"""
a, b, c = eval(input())
ls = []
for i in range(c):
    ls.append(str(a * (b ** i)))  ******
print(",".join(ls))
"""

字符串

字符串也是支持切片的
"""
输入0-9能够替换成汉字
"""
n = input()
s = "〇一二三四五六七八九"
for c in "0123456789":
     n = n.replace(c,s[int(c)])
print(n)

abs(x)						x的绝对值
divmod(x,y)					(x//y,x%y),输出为二元组形式(也称为元组类型)
pow(x,y) 或 pow(x,y,x)		**y或(**y)%z,幂运算
round() 或 round(x,d)		对x四舍五入,保留d为小数,无参数d则返回四舍五入的整数值
str.split(sep=None)			返回一个列表,由str根据sep被分割的部分构成,省略sep默认以空格分割
str.count(sub)				返回sub子串出现的次数
str.strip(chars)			字符串str中去掉在具左侧和行侧chars中列出的字符
str.join(iter)				将iter变量的每一个元素后增加一个str字符串
str.lower()					返回字符串str的副本,全部字符小写
str.upper()					返回字符串str的副本,全部字符大写
str.replace(old, new)		返回字符串str的副本,所有的old子串被替换为new

条件判断

是否为整数: type(a) == int、a % 1 == 0
判断是否为中文: if '\u4e00'<=c<='\u9fff'

简单应用

# 排序 从大到小
ls = list(d.items())
ls.sort(key = lambda x:x[1], reverse = True)

# 1套
data = input()  # 姓名 性别 年龄 
age = 0
n = 0
man_num = 0
while data:
    n += 1
    ls = data.split()
    age += int(ls[2])
    if ls[1] == '男':
        man_num += 1
    data = input()
avg = age/n
print("平均年龄是{:.2f} 男性人数是{}".format(avg,man_num))

# 2套
names=input("请输入各个同学行业名称,行业名称之间用空格间隔(回车结束输入):")
ls = names.split()
d = {}
for i in ls:
    d[i] = d.get(i,0) + 1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 按照数量排序
for k in ls:
    print("{}:{}".format(k[0],k[1]))

# 3套
txt = input("请输入类型序列: ")
s = txt.split()
d = {}
for i in range(len(s)):
    d[s[i]] = d.get(s[i],0) + 1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True)  # 按照数量排序
for k in ls:
    print("{}:{}".format(k[0], k[1]))
    
# 4套
data = input()  # 课程名 考分
d = {} 
while data:
    s = data.split()
    d[s[0]] = s[1]
    data = input()
ls = list(d.items())
ls.sort(key = lambda x:x[1], reverse = True)
ag = 0
for i in d.values():
    ag += int(i)
ag = ag/len(ls)
print("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(ls[0][0],ls[0][1],ls[-1][0],ls[-1][1],ag))

# 5套
f=open("name.txt")
names=f.readlines()
f.close()
f=open("vote.txt")
votes=f.readlines()
f.close()
f.close()
f=open("vote1.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+=1
    else:
        f.write(vote)
f.close()        
l=list(D.items())
l.sort(key=lambda s:s[1],reverse = True)
name=l[0][0]
score=l[0][1]
print("有效票数为:{} 当选村长村民为:{},票数为:{}".format(NUM,name,score))

# 6套
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))

f = open("vote.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.items())
l.sort(key=lambda s:s[1],reverse = True)
name = l[0][0]
score = l[0][1]
print("最具人气明星为:{},票数为:{}".format(name,score))

# 7套
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)

# 8套
# 圆套着方
import turtle
turtle.pensize(2)
for i in range(4):
    turtle.fd(200)
    turtle.left(90)
turtle.left(-45)
turtle.circle(100*pow(2,0.5))


while True:
    s = input("请输入不带数字的文本:")
    flag = False
    for c in s:
        if c.isdigit():
            print('输入存在数字,请重新输入!')
            flag = True
            break
    if flag == False:
        break   
print(len(s))

# 9套
# 柱状图
import turtle as t
ls = [69, 292, 33, 131, 61, 254]
X_len = 400
Y_len = 300
x0 = -200
y0 = -100

t.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()

# 10套
img = [0.244, 0.832, 0.903, 0.145, 0.26, 0.452]
filter = [0.1,0.8,0.1]
res = []
for i in range(len(img)-2):
    k = 0
    for j in range(3):
        k += filter[j] * img[i+j]
        print('k={:<.3f},filter[{}]={:<.3f},img[{}+{}]={:<.3f}'.format(k,i,filter[j],i,j,img[i+j]))
    res.append(k)
for r in res:
    print('{:<10.3f}'.format(r),end = '')
    
# 11套
# 雪花forward backward
import turtle as t
import random as r

r.seed(1)
t.pensize(2)
t.pencolor('red')
angles = 6
points= [[0,0],[50,40],[70,80],[-40,30]]

for i in range(4):
    x0,y0 = points[i]
    t.penup()
    t.goto(x0,y0)
    t.pendown()

    length = r.randint(6, 16)
    for j in range(angles):
        t.forward(length)
        t.backward(length)
        t.right(360 / angles)
t.done()


f = open('data.txt', 'r',encoding="utf-8")

country = []
school = []

for line in f:
    data = line.strip('\n').split(',')
    if data != ['']:
        country.append(data[-1]) # ['中国','美国',...]
        school.append(data[1:3]) # [['麻省理工','美国'],[]...]

country = list(set(country))	# set集合方法自动去重
    
unis = []
for i in country:
    n = 0
    schools = []
    result = []
    for k in school:
        if k[1] == i:
            schools.append(k[0])
            n += 1
    result = [i,n,schools]
    unis.append(result)

for d in unis:
    print('{:>4}: {:>4} : {}'.format(d[0],d[1],' '.join(d[2])))
    
# 12套
sumtime = 0
percls = []
ts = {}
with open('out.txt', 'r') as f:
    for line in f:
        data = line.strip('\n').split(',')
        sumtime += float(data[1])
        percls.append(data[::2])
    for j in range(len(percls)):
        ts[percls[j][0]] = percls[j][1]
print('the total execute time is ', sumtime)

tns = list(ts.items())
tns.sort(key=lambda x: x[1], reverse=True)
for i in range(3):
    print('the top {} percentage time is {}, spent in "{}" operation'.format(i, tns[i][1],tns[i][0]))
    
# 13套
# 三个同心圆
import turtle as t
color = ['red','green','blue']
rs = [10,30,60]

for i in range(3):
    t.penup()
    t.goto(0,-rs[i])  # ****** y坐标是-rs[i]
    t.pendown()
    t.pencolor(color[i])
    t.circle(rs[i])
t.done()


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

s = ''
for i in slist:
   if i in ",。":
      print('{:^20}'.format(s))
      s = ''
      continue
   s += i

# 14套
import random as r
r.seed(0)
persons = ['Alice', 'Bob','lala', 'baicai']
flag = 3
while flag>0:
    flag -= 1
    name = input('请输入名字:').strip()
    num = r.randint(1000,9999)
    if name in persons:
        print('{} {}'.format(name, num))
        break
    elif name == 'q':
        print('程序自动退出')
        break
    else:
        print('对不起,您输入的名字不存在。')
        
# 15套
import jieba

f = open('data2.txt','w')

s = input("请输入一个中文字符串,包含逗号和句号:")
k=jieba.lcut(s)
d1 = {}
for i in k:
    if len(i) >= 2:
        d1[i] = d1.get(i,0) + 1
ls = list(d1.items())
for i in range(len(ls)):
    f.write('{}:{}'.format(ls[i][0],ls[i][1]))
    f.write('\n')
f.close()

# 16套
import jieba
dela = '-;:,.()"<>'
s = input("请输入一句话:")
print("\n这句话是:{}".format(s))
new = ''
for i in s:
    if i in dela:
        i = ''
    new += i
ls = jieba.lcut(new)
print("替换之后是:{}".format(new))
print("里面有 {}个词语。".format(len(ls)))

综合应用

# 7套
L=[]                          #L中的元素是学生原始成绩和总成绩
D=[]

fi = open('score.txt','r')  #此处可多行
fo = open('candidate0.txt','w')

for line in fi.readlines():
    D = line.split()
    s = 0
    for i in range(10):
        s += eval(D[i+2])
    D.append(s)
    L.append(D)

L.sort(key=lambda x:x[-1],reverse=True)   #按学生总成绩从大到小排序

for i in range(10):
    for j in range(12):
        fo.write('{} '.format(L[i][j]))
    fo.write('\n')

fi.close()
fo.close()


fi = open('candidate0.txt','r')
fo = open('candidate.txt','w')

L = []
D = []

for line in fi.readlines():
    D = line.strip('\n').split()
    L.append(D)

flag = True
for i in range(10):
    for j in range(10):
        if eval(L[i][j+2]) < 60:
            flag = False
    if flag:
        fo.write('{} {}'.format(L[i][0],L[i][1]))
        fo.write('\n')
    flag = True
    
fi.close()
fo.close()

# 8套
# 指定始末光标
start = line.find('alt=')+5
end = line.find('" width=')

标签:二级,计算机,format,len,range,ls,print,name
From: https://www.cnblogs.com/piggthird/p/17779527.html

相关文章

  • 揭秘计算机指令执行的神秘过程:CPU内部的绝密操作
    计算机指令从软件工程师的角度来看,CPU是执行计算机指令的逻辑机器。计算机指令可以看作是CPU能够理解的语言,也称为机器语言。不同的CPU能理解的语言不同。例如,个人电脑使用Intel的CPU,苹果手机使用ARM的CPU。这两种CPU支持的语言不同。这些不同CPU支持的语言被称为不同的指令集。......
  • 基于Springboot框架的优质衣产品系统-计算机毕业设计源码+LW文档
    开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9浏览器:谷歌浏览器前台用户模块涵盖了:用户登录、注册功能,包括消费者进行优质衣产品系统的登录可进行衣产品的选购等......
  • 基于SpringBoot框架的教学评价系统的设计与实现-计算机毕业设计源码+LW文档
    摘要随着时代的发展,我国的教育水平在不断的提高,但是很多时候为了更好的提高教学的质量,会让学生对当前的教学进行评价,教育工作者根据学生的评价发现当下教学中的一些不足,从而更好的提高教学质量,为了让教学评价变的更加的方便我们开发了本次的教学评价系统。本系统从用户的角度出......
  • 基于springboot洗衣店管理系统-计算机毕业设计源码+LW文档
    摘要随着时代的发展,人们的工作也学习压力越来越大,很多时候空闲时间也越来也少,经常没有时间去洗自己的衣服,很多商家在看到这种情况之后开设了洗衣机店专门用于服务这些没有时间洗衣服的人,但是传统的洗衣店都是用手动的的模式在管理,这种模式很落后,为了改善这一情况很多地方开设了线......
  • 计算机初级选手的成长历程——操作符详解(2)
    大家好,很高兴又和大家见面啦!!!上一篇我们介绍了算术操作符、移位操作符、位操作符、赋值操作符、单目操作符这五类操作符,不知道大家阅读完之后对这些内容有没有更深的理解。今天我们将来介绍剩下的几类操作符,话不多说,我们开始今天的内容吧。操作符7.关系操作符成员'>'——大于操作符,......
  • 2023-2024-1 20231314许城铭 《计算机基础与程序设计》第4周学习总结
    这个作业属于哪个课程<班级的链接>(https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第4周作业(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13000))这个作业的目......
  • 计算机系统漫游
    写在最前面的话:在大一下学期的时候其实就已经萌生了读完csapp并做完里面所有lab的想法,但当时痴迷于acm所以最后以失败告终。现在大二上的我对自己的目标更加清晰,希望这次自己可以坚持下去1.信息就是位+上下文拿一个最简单的hello程序举例#include<stdio.h>intmain(){......
  • 计算机舍入误差对卡尔曼滤波器的影响
    本文主要学习计算机舍入误差对卡尔曼滤波器的影响,在实际工程中,我们去分析跟踪轨迹和点云数据通常关注的点都是跟踪和点云数据的误差。至于计算机引入的舍入误差其实很多时候都会忽略。因此本文参考《卡尔曼滤波理论与实践(MATLAB版)》(第四版)对舍入误差的影响进行一个学习和讨论,......
  • 2023-2024-1 20231317《计算机基础与程序设计》第四周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2023-2024-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2023-2024-1计算机基础与程序设计第四周作业)这个作业的目标<《C语言程序设计第三章》>作业正文...本博客链接https://www.cnblogs.com/......
  • 2023-2024-1 20231404高伟光 《计算机基础与程序设计》第四周学习总结
    作业信息所属班级计算机基础与程序设计作业要求要求作业目标学习并总结课本,通过测试作业正文本博客教材学习内容总结1.学习了门与电路的相关知识,了解了相关运算与图解2.知道大多计算机为冯-诺伊曼体系3.学习了强转,了解计算机赋值逻辑和晕算符号教材学......