计算机二级
计算机二级
错题回看#
简单应用: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=')
作者:piggthird
出处:https://www.cnblogs.com/piggthird/p/17779527.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具