蓝桥杯原题级别。以十二届蓝桥杯python试题备战明天十三届蓝桥杯。
实践证明:
python基础知识很重要。
蓝桥杯真题大于蓝桥杯算法。(短时间内)
二维列表按第二个元素逆序排序:list.sort(key = lambda x:x[1],reverse = True)
补充:
2022年十三届蓝桥杯python组B组原题:2022第十三届蓝桥杯省赛B组Python
2022年十三届蓝桥杯python组B组解题:2022第十三届蓝桥杯PythonB组-pudn.com
目录
十二届python组A组
A、卡片
#2021张,用字典对应数字和卡片数
#创建卡片字典,每个卡片2021张。
di = {}
n = 2021
for i in range(10):
di[str(i)] = n
# print(di)
#开始对每一个数取出卡片,直到没有卡片拼数字
flag = True
i = 0
while flag:
i += 1
for j in str(i):
di[j] -= 1
if di[j] < 0:
flag = False
break
print(i-1)#3181
B、直线
#两点确定一条直线,
#斜率k和截距b不同,那么就是不同的直线
#特殊的,斜率不存在,即x1 = x2
#建立所有坐标点
xoy = [[x,y] for x in range(20) for y in range(21)]
#print(xoy)
#建立已经包含的直线
line = set()
for i in range(len(xoy)):#确定第一个点
x1,y1 = xoy[i][0],xoy[i][1]
for j in range(i+1,len(xoy)):#确定第二个点
x2,y2 = xoy[j][0],xoy[j][1]
if x1 == x2:#特殊处理
continue
k = (y2-y1)/(x2-x1)
b = (x2*y1-x1*y2)/(x2-x1)
#if (k,b) not in line:#如果是集合,必然不会重复,可以少一个if判断
line.add((k,b))#不同的(k,b)放入直线的集合
print(len(line)+20)#40257
C、货物摆放
#对n求解质因数,组合因数乘积为n
n=2021041820210418
ans = 0
docker = set()
for i in range(1,int(n**