python蓝桥杯真题刷题打卡 | day1

蓝桥杯历年真题官网:
https://www.lanqiao.cn/problems/?sort=students_count

单词分析

2020年省赛
在这里插入图片描述

输入1:

lanqiao

输出1

a
2

输入2:

longlonglongistoolong

输出2:

o
6

python代码

import os
import sys

# 请在此输入您的代码
test = input()
dict = {}
# 词频统计
for i in test:
    if i in dict.keys():
      dict[i] += 1 
    else:
      dict[i] = 1


#这里要注意字典序的输出    
#考虑多个单词可能出现的次数相同,输出字典序最小的那个
zimu_list = []
for key,value in dict.items():
	# 如果词出现的次数是最多的
    if value==max(dict.values()):
    	# 那么将出现最多的单词加入到列表
        zimu_list.append(key)
zimu_list.sort()
print(zimu_list[0])
print(max(dict.values()))

成绩统计

2020年省赛
在这里插入图片描述

输入输出样例
输入

7
80
92
56
74
88
100
0

输出

71%
43%

python代码 简单的程序设计

import os
import sys

# 请在此输入您的代码
num = int(input())
score_list = []
for i in range(num):
    score_list.append(int(input()))

j_count = 0
y_count = 0
for i in score_list:
	# 及格率
    if i >= 60:
        j_count+=1
    # 优秀率
    if i>=85:
        y_count+=1
        
# 及格率  
print("{}%".format(round(round(j_count/num,2)*100)))

# 优秀率
print("{}%".format(round(round(y_count/num,2)*100)))

最短路

2019年省赛
在这里插入图片描述
代码不太好写,用眼瞅🤭
在这里插入图片描述

回文日期

2020年省赛
在这里插入图片描述
输入:

20200202

输出:

20211202
21211212

python 代码

import os
import sys
import datetime
# 请在此输入您的代码
date=input()
y=int(date[0:4]) # 将输入的日期转化为年月日的形式
m=int(date[4:6])
d=int(date[6:])
dd=datetime.date(y,m,d) # 将y,m,d转化为日期格式

flag=True # 控制只输出一次回文日期  
for i in range(9999999):
  dd=dd+datetime.timedelta(days=1)  # 日期增加1天
  str_dd=str(dd).replace('-','') # 将日期转换为字符串的形式并将其中的-符号去掉
  if str_dd==str_dd[::-1]:
    if flag:
      print(str_dd)
      flag=False   # 输出一次就不再输出
      
    #  0A 1B 2A 3B 4B -3A -2B -1A    0 2 -1 -3为A   1 3 -2 -4为B
    if str_dd[0]==str_dd[2]==str_dd[-1]==str_dd[-3] and str_dd[1]==str_dd[3]==str_dd[-2]==str_dd[-4] :
      print(str_dd)
      break

门牌制作

在这里插入图片描述
python代码:

count = 0
for i in range(1,2021):
    count += str(i).count('2')

print(count)

购物单

2017年省赛
在这里插入图片描述
数据在代码中

lists = """
****     180.90       88折
****      10.25       65折
****      56.14        9折
****     104.65        9折
****     100.30       88折
****     297.15        半价
****      26.75       65折
****     130.62        半价
****     240.28       58折
****     270.62        8折
****     115.87       88折
****     247.34       95折
****      73.21        9折
****     101.00        半价
****      79.54        半价
****     278.44        7折
****     199.26        半价
****      12.97        9折
****     166.30       78折
****     125.50       58折
****      84.98        9折
****     113.35       68折
****     166.57        半价
****      42.56        9折
****      81.90       95折
****     131.78        8折
****     255.89       78折
****     109.17        9折
****     146.69       68折
****     139.33       65折
****     141.16       78折
****     154.74        8折
****      59.42        8折
****      85.44       68折
****     293.70       88折
****     261.79       65折
****      11.30       88折
****     268.27       58折
****     128.29       88折
****     251.03        8折
****     208.39       75折
****     128.88       75折
****      62.06        9折
****     225.87       75折
****      12.89       75折
****      34.28       75折
****      62.16       58折
****     129.12        半价
****     218.37        半价
****     289.69        8折
"""
lists = [x for x in lists.split("\n") if x != ""]
summ = 0
for i in lists:
    temp = i.split()
    temp[2] = temp[2].replace("折", "").replace("半价", '50')
    if len(temp[2]) == 1:
        temp[2] = temp[2] + "0"
    summ += float(temp[1]) * int(temp[2]) / 100
print((int(summ / 100) + 1) * 100)
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码魔法师!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值