本资料整理者&代码编写者:夏2同学
个人邮箱:1754082565@qq.com
请勿未经同意转载 & 如有错误,欢迎指正
资料下载:https://download.csdn.net/download/xia_yanbing/16742326

备注:目前蓝桥杯Python编辑器是:IDLE。
如果您想了解如何使用,可以参考这篇。
https://blog.csdn.net/xia_yanbing/article/details/114641646

目录

  • A-门牌制作.py
    • 参考答案:624
  • B-寻找2020.py
    • 参考答案:16520
  • C-跑步锻炼.py
    • 参考答案:8879
  • D-蛇形填数.py
    • 参考答案:761
  • E-排序.py
    • 参考答案:jonmlkihgfedcba
  • F-成绩统计.py
  • G-单词分析.py
  • H-数字三角形.py
  • I-平面分割.py
  • J-装饰珠.py

A-门牌制作.py

题目地址:https://www.lanqiao.cn/problems/592/learning/

参考答案:624

# https://www.lanqiao.cn/problems/592/learning/
# 参考答案:624total = 0
for i in range(1,2021):total += (str(i).count("2"))print(total)# 624

B-寻找2020.py

题目地址:无在线练习题地址

参考答案:16520

# 无在线练习题地址
# 参考答案:16520def search_row(l):res = 0m = len(l[0])n = len(l)for i in range(n):for j in range(m-3):if l[i][j] == "2" and l[i][j+1] == "0" \and l[i][j+2] == "2" and l[i][j+3] == "0":res += 1return resdef search_xie(l):res = 0m = len(l[0])n = len(l)for i in range(n-3):for j in range(m-3):if l[i][j] == "2" and l[i+1][j+1] == "0" \and l[i+2][j+2] == "2" and l[i+3][j+3] == "0":res += 1return resdef search_col(l):res = 0m = len(l[0])n = len(l)for j in range(m):for i in range(n-3):if l[i][j] == "2" and l[i+1][j] == "0" \and l[i+2][j] == "2" and l[i+3][j] == "0":res += 1    return reswith open("2020.txt",'r') as fp:lines = fp.readlines()i = 0for line in lines:lines[i] = line.strip('\n')i+=1# 16520print(search_row(lines)+search_xie(lines)+search_col(lines))

C-跑步锻炼.py

题目地址:https://www.lanqiao.cn/problems/597/learning/

参考答案:8879

# https://www.lanqiao.cn/problems/597/learning/
# 参考答案:8879flag = 6def nextDay(date):'''date: 格式 yyyy-mm-ddreturn next_date,is_monday,is_month_begin星期一和月初'''date = list(map(int,date.split("-")))y,m,d = dated+=1if m == 12 and d == 32:y += 1m = 1d = 1elif m == 2:if is_leap_year(y):if d == 30:m = 3d = 1else:if d == 29:m = 3d = 1elif is_big_month(m):if d == 32:m += 1d = 1elif not is_big_month(m):if d == 31:m += 1d = 1global flagadd_week()is_month_begin = True if d == 1 else Falseis_monday = True if flag == 1 else Falsenew_date = "%d-%02d-%02d" % (y,m,d)return new_date,is_monday,is_month_begindef is_leap_year(year):if year % 4 == 0 and year % 100 != 0:return Trueelif year % 400 == 0:return Truereturn Falsedef is_big_month(month):if month in [1,3,5,7,8,10,12]:return Trueelse:return Falsedef add_week():global flagflag = (flag + 1) % 8 if (flag + 1) % 8 else 1def main():start_time = "2000-01-01"# end_time = "2000-01-10"end_time = "2020-10-01"total = 2while start_time != end_time:start_time,is_monday,is_month_begin = nextDay(start_time)if is_monday or is_month_begin:total += 2else:total += 1print(start_time,is_monday,is_month_begin,total)print(total)# ans = main()

D-蛇形填数.py

题目地址:https://www.lanqiao.cn/problems/594/learning/

参考答案:761

# https://www.lanqiao.cn/problems/594/learning/
# 参考答案:761def print_out(lst):# 一行行输出for line in lst:for x in line:print("%04d" % x,end=" ")# print(" ".join(map(str, i)))print()lst = [i for i in range(1000)]num = 1res = [[0 for i in range(101)] for i in range(101)]i, j = 0, 0#
res[0][0] = num
while i != 100 and j != 100:num += 1# 向右j += 1res[i][j] = numwhile j > 0:# 向斜左下角num += 1i += 1j -= 1res[i][j] = numnum += 1# 向下i += 1res[i][j] = numwhile i > 0:# 向斜右上角num += 1i -= 1j += 1res[i][j] = num# 蛇形填数字
with open ('./out.txt','w+') as fp:for line in res:for x in line:fp.write("%04d " % x)fp.write("\n")```

E-排序.py

题目地址:https://www.lanqiao.cn/problems/598/learning/

参考答案:jonmlkihgfedcba

# https://www.lanqiao.cn/problems/598/learning/
# 参考答案:jonmlkihgfedcbaimport randomcount = 0# def bubble_sort(lst):
#     n = len(lst)
#     for i in range(n-1):
#         # is_ordered = True
#         j = 0
#         while j < n-i-1:
#             if lst[j] > lst[j+1]:
#                 # 交换
#                 lst[j], lst[j+1] = lst[j+1], lst[j]
#                 global count
#                 count += 1
#                 # is_ordered = False
#             j += 1def bubble_sort(lst):n = len(lst)for i in range(n-1):is_ordered = Truej = 0while j < n-i-1:if lst[j] > lst[j+1]:# 交换lst[j], lst[j+1] = lst[j+1], lst[j]global countcount += 1is_ordered = Falsej += 1if is_ordered:# 结束冒泡break# string =[chr(i) for i in range(ord('a'),ord('p'))]# data = ['o', 'n', 'm', 'l', 'k', 'j',
#         'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']# 1. 最短 2. 字典序低data = ['j', 'o', 'n', 'm', 'l', 'k','i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']# data = string[::-1]print(data)
bubble_sort(data)
print(data)
print(count)

F-成绩统计.py

题目地址:https://www.lanqiao.cn/problems/502/learning

# https://www.lanqiao.cn/problems/502/learningfrom decimal import *n = int(input())socres = [int(input()) for i in range(n)]youxiu = 0
jige = 0for i in socres:if i >= 85:youxiu += 1if i >= 60:jige += 1# 高精度
percent1 = int(round(float(Decimal(jige) / Decimal(n)) * 100, 0))
percent2 = int(round(float(Decimal(youxiu) / Decimal(n)) * 100, 0))print("%d%%" % percent1)
print("%d%%" % percent2)

G-单词分析.py

题目地址:https://www.lanqiao.cn/problems/504/learning

# https://www.lanqiao.cn/problems/504/learning# 记录26个英文字母的顺序
charLst = [0] * 26string = input()for char in string:charLst[ord(char)-97] += 1max_value = max(charLst)
res_index = charLst.index(max_value)
res_chr = chr(res_index + 97)print(res_chr)
print(max_value)

H-数字三角形.py

题目地址:https://www.lanqiao.cn/problems/505/learning/

# https://www.lanqiao.cn/problems/505/learning/# 借鉴了 https://www.jianshu.com/p/c20b6b9a178a (C++)if __name__ == '__main__':# MAX = 105n = int(input())MAX = n+2nums = [[0 for i in range(1, MAX)] for i in range(1, MAX)]dp = [[0 for i in range(1, MAX)] for i in range(1, MAX)]# 读取用户输入for i in range(1, n+1):line = map(int, input().split(" "))for j, e in enumerate(line):nums[i][j+1] = e# print(nums)# 初始化最后一行if n % 2 == 0:dp[n][n//2] = nums[n][n//2]dp[n][n//2 + 1] = nums[n][n//2 + 1]else:dp[n][n//2 + 1] = nums[n][n//2 + 1]# 从后往前依次遍历for i in range(n-1, 0, -1):for j in range(1, i+1):# 如果下一行左边或者右边不为0if dp[i+1][j] != 0 or dp[i+1][j+1] != 0:dp[i][j] = nums[i][j] + max(dp[i+1][j], dp[i+1][j+1])print(dp[1][1])

I-平面分割.py

题目地址:https://www.lanqiao.cn/problems/503/learning/

# https://www.lanqiao.cn/problems/503/learning/# 思路:画几张图观察一下可以发现一下特点:
# 1、重边不会影响区域数目。
# 2、每新加入一条边只要不是重边区域数目必定+1。
# 3、加入的新边如果与之前加入的边每有一个交点则区域数目+1。n = int(input())# 存放直线数(必须得不重合)
set_line = set()
# 存放交点数
set_point = set()for i in range(n):tmp = tuple(input().split())set_line.add(tmp)set_point.add(tmp[0])print(len(set_line)+len(set_point))

J-装饰珠.py

题目地址:https://www.lanqiao.cn/problems/507/learning/

# https://www.lanqiao.cn/problems/507/learning/import os
import syss = []
r = []
m = []for i in range(6):s.append(list(map(int, input().split())))
n = int(input())
for i in range(n):r.append(list(map(int, input().split())))
for i in range(6):p = s[i]for j in range(n):if i == 0:m.append(p[1:].count(int(j+1)))else:m[j] += p[1:].count(int(j+1))'''print(m)''' '''用m[j]记录6件装备共有 j+1级孔m[j]个'''
mm = m
'''假设j级孔全用j级珠子'''
up = []
down = []
'''up记录加一颗珠子提升的价值,down记录少一颗珠子减少的价值'''def up1(k):if mm[k] >= r[k][1]:return 0elif mm[k] == 0:return r[k][2]else:return r[k][2+mm[k]]-r[k][1+mm[k]]def down1(k):if mm[k] == 1:return r[k][2]elif mm[k] > r[k][1]:return 0else:return r[k][1+mm[k]]-r[k][mm[k]]for i in range(n):up.append(up1(i))down.append(down1(i))'''print(up,down)'''
'''第n+1级孔,如果1到n级孔中珠子加1的价值比它减少1颗的价值大,则数值各加1、减1,up、down更新'''def main1(n):if n == 0:returnwhile max(up[:n]) > down[n] and mm[n] > 0:t = up.index(max(up[:n]))mm[t] += 1up[t] = up1(t)mm[n] -= 1down[n] = down1(n)main1(n-1)returnpoint = 0
main1(n-1)
'''输入有n级,为了和形参统一,此处减1'''
'''print(up,down)
print(mm)'''
for i in range(n):if mm[i] != 0:point += r[i][1+mm[i]]
print(point)
'''得到总价值'''

【2020蓝桥杯】Python组真题解析 - 第十一届蓝桥杯相关推荐

  1. 第七届蓝桥杯javaB组真题解析-抽签(第五题)

    题目 /* 抽签X星球要派出一个5人组成的观察团前往W星. 其中: A国最多可以派出4人. B国最多可以派出2人. C国最多可以派出2人. ....那么最终派往W星的观察团会有多少种国别的不同组合呢? ...

  2. 蓝桥杯python组练题第六天——七段码——蓝桥杯官网题库

    单词分析 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可.不建议写代码. 小蓝要用七段码数码管来表示一种特殊的文字. 上图给出了七段码数码管的一个图示,数码管中一共有 ...

  3. java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)

    第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...

  4. 第八届蓝桥杯全国总决赛真题解析

    36进制 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 对于 16 进制,我们使用字母 A−F 来表示 10 及以上的数字. 如法炮制,一直用到字母 Z,就可以表示 36 ...

  5. 蓝桥杯Java历年真题与答案_蓝桥杯大赛java历年真题及答案整理(闭关一个月呕心沥血整理出来的)...

    蓝桥杯大赛java历年真题及答案整理(闭关一个月呕心沥血整理出来的) 1蓝桥杯 java 历年真题及答案整理(闭关一个月,呕心沥血整理出来的)1. 算法是这样的,如果给定 N 个不同字符,将这 N 个 ...

  6. 2016年至2020年英语四六级真题解析听力音频文件

    2020年9月英语六级真题&解析&听力音频文件-第一套 https://download.csdn.net/download/qq_36596540/13507098 2020年9月英 ...

  7. 2020第十一届蓝桥杯国赛JAVA B组真题解析(带源码及解析)

    蓝桥杯历年真题及解析. 目录 蓝桥杯历年真题及解析. A: 美丽的 2 题目: 分析: AC代码: B: 扩散 题目: 分析: AC代码: C: 阶乘约数 题目: 分析: AC代码: D: 本质上升序 ...

  8. 蓝桥杯 python 青少年 真题_蓝桥杯Python真题解析

    今天分析一道蓝桥杯大赛Python组的真题<核桃的数量>. 题目内容:小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班.为鼓舞士气,小张打算给每个组发一袋核桃(据传言核桃能补脑) ...

  9. 2017第八届蓝桥杯省赛JAVA C组真题解析(带源码及解析)

    蓝桥杯历年真题及解析. 目录: 蓝桥杯历年真题及解析. A:外星日历(难度:★) 题目: 分析: 代码: B:兴趣小组(难度:★) 题目: 分析: 代码: C:纸牌三角形(难度:★★★) 题目: 分析 ...

最新文章

  1. 2022-2028年中国三网融合产业深度调研及投资前景预测报告
  2. VSCode---Latex论文编辑
  3. 网页中嵌入Excel控件
  4. Anaconda 安装 Tensorflow 教程
  5. idea中maven的setting.xml的配置
  6. MAT(Memory Analyzer Tool)工具入门介绍
  7. 保研面试复习之数据结构篇
  8. 网上支付之易宝支付接入规范
  9. 如何安装IDEA主题
  10. VSFTPD (500 Illegal PORT command 500 OOPS: vsf_sysutil_bind) 错误解决方法
  11. SSL2812 2017年10月30日提高组T2 凤凰院凶真(dp,LCIS)
  12. Fiddler设置服务代理后手机不能上网的问题
  13. android swf模拟器,在Android模拟器上加载swf文件
  14. 最大连通分支Giant Component
  15. 【EXLIBRIS】#小词旮旯# 006 Wake
  16. 时间序列预测方法及多步预测方法汇总
  17. 汽车软件开发相关词汇
  18. oracle的substr函数的用法
  19. ez_pz_hackover_2016
  20. 2019前端工程师修炼手册.pdf

热门文章

  1. ucos iii学习笔记——为什么选择ucos iii
  2. 机器学习:线性回归I 最小二乘法
  3. 程序员法律考试(3)-依法治国的基本原则和法制体系具体任务
  4. tensorflow随笔-队列管理器QueueRunner-生产者与消费者
  5. 【Python基础】Pandas向量化字符串操作
  6. Python 2 最后一个版本发布,正式迈入 Python 3 时代
  7. 云信小课堂 | 聊天室内容审核很头疼? 3 步解决!
  8. 网易云信联合墨刀,邀你参加【产品设计狂欢节】!
  9. 如何提升各开发角色效率,既保证产品质量又能快速上线?
  10. 世界上最稳定的系统——维稳就靠它了!