蓝桥杯真题总结(蓝桥杯考什么)

Python获取每一位的数字,并返回到列表:方法一:whilevalue:result.append(value%10)value=value//10#逆序,按正常的顺序返回result.reverse()方法二:list(map(int,str(value)))方法三:#divmod()是内置函数,返回整商和余数组成的元组result=[]whilevalue:value,r=divmod(value,1

大家好,又见面了,我是你们的朋友全栈君。

十一届蓝桥杯python B组

题目汇总

试题A:门牌制作

题目

【问题描述】小蓝要为一条街的住户制作门牌号。这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?————————————————版权声明:本文为CSDN博主「域外风雪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/new_py/article/details/113486141

思路
将整数转换成字符串,循环取数
程序实现

num = 0
for i in range(1,2021):
    num +=str(i).count('2') # int 要转换成字符串
print(num)

试题B:寻找2020

题目
在这里插入图片描述
思路

程序实现


使用知识点

试题C:跑步训练

题目
【问题描述】
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 1 千米。
如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑2千米。如果同时是周一或月初,小蓝也是跑2千米。
小蓝跑步已经坚持了很长时间,从2000年1月1日周六(含)到2020年10月1日周四(含)。
请问这段时间小蓝总共跑步多少千米?

思路
使用模块 datetime 方法
程序实现

import datetime
start = datetime.date(2000,1,1)
end = datetime.date(2020,10,1)
days = datetime.timedelta(days=1)  # 用以可用于计算的一天 timedelta代表两个时间之间的时间差
res = 0
while start <= end:
    if start.day == 1 or start.weekday() == 1:
        res += 2
    else:
        res += 1
    start += days
print(res)

使用知识点

  1. 日历计时
    Python datetime模块详解、示例
    datetime.date(2000,1,1).day 读取现在日期
    datetime.date(2000,1,1).weekday() 星期一到七
  • weekday(…)方法返回的周一为 0,周日为 6
  • isoweekday(…)方法返回的周一为1,周日为7
    datetime.timedelta(days=1) 用来计算日期之间的差
  • 可以使用 datetime.date(2000,1,1) + datetime.timedelta(days=1) 表示日期加1

试题D:蛇形填数

题目
【问题描述】如下图所示,小明用从1开始的正整数“蛇形”填充无限大的矩阵。1 2 6 7 15 …3 5 8 14 …4 9 13 …10 12 …11 ……容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列的数是多少?

思路
[1,1]+4=[2,2]
[2,2]+8=[3,3]
[3,3]+12=[4,4]
程序实现

n = 20
num_sum = 1
for i in range(1,n+1): # 忘了range不执行最后一个,要n+1
    num_sum = num_sum + 4*(i-1)
print(num_sum)
# 输出 761

试题F:成绩分析

题目
在这里插入图片描述
思路
按行读取,求最大最小累加求均值
程序实现

n = int(input())
max_num = 0
min_num = float("inf")
add_num = 0
for i in range(n):
    a = int(input())
    max_num = max(max_num,a)
    min_num = min(min_num,a)
    add_num = add_num + a
avr = add_num/n

average = format(avr, '.2f')
print(max_num)
print(min_num)
print(average )

使用知识点

  1. 读取好多行的输入可以用
    for i in range(打算输入的行数):
    a = int(input())
  2. 取两位小数
    方法一:print(round( 输入 ,2))
    方法二:print(format( 输入 ,’.2f’))
    方法三:print (’%.2f’ %( 输入 ))

使用:
jige = format(jige / n, ‘.2f’) # format方法可以四舍五入,但返回的是字符串形式
print(f’{ __ }%’) # 切片,取整数部分

  1. 变成百分率方法:print(f’{****}%’)

试题G:单词分析

题目

时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分【问题描述】小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。【输入格式】输入一行包含一个单词,单词只由小写英文字母组成。【输出格式】输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序最小的那个。第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。【样例输入】lanqiao【样例输出】a2
思路
使用max函数,按照s中字母的数量排序
程序实现

s = list(input())
ans = max("abcdefghijklmnopqrstuvwxyz",key=s.count)
print(ans)
print(s.count(ans))

使用知识点

  1. 计数
    s.count 返回计数
    collections.Counter()
    计数的使用

  2. max() 的使用
    参考文章

max(iterable, *[, key, default])
max(arg1, arg2, *args[, key])

  • 默认数值型参数,取值大者
  • 字符型参数,取字母表排序靠后者
  • key:可做为一个函数,用来指定取最大值的方法。
  • default:用来指定最大值不存在时返回的默认值。
  • arg1:字符型参数/数值型参数,默认数值型
  • 传入多个参数取最大值(元组、列表、集合)
  • 传入可迭代对象(比如列表)时,取其元素最大值
# key的使用
s = [{ 
   'name': 'li', 'age': 24},{ 
   'name': 'he', 'age': 45},{ 
   'name': 'she', 'age': 45}]
b = max(s, key=lambda x: x['age'])
print(b)
# 输出
#{'name': 'he', 'age': 45}

key中两个计数相同时,输出前一个

  1. 字典序就是按照字典的顺序(a-z, 1-9)

十一届蓝桥杯python C组

试题A:

题目

蓝桥杯历届试题:回文日期

Python获取每一位的数字,并返回到列表:
方法一:

while value:
    result.append(value % 10)
    value = value // 10
    # 逆序,按正常的顺序返回
    result.reverse()

方法二:

list(map(int, str(value)))

方法三:

#divmod()是内置函数,返回整商和余数组成的元组
result = []
while value:
    value, r = divmod(value, 10)
    result.append(r)
result.reverse()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127953.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言函数不可以单独编译_fcntl函数

    C语言函数不可以单独编译_fcntl函数函数原型:externvoidbzero(void*s,intn);函数功能:将字节字符串s的前n个字节置为0(包括‘\0’);头文件:#include说明:bzero函数是将s的前n个字符置为零,听起来是不是跟memset函数的功能有些类似呢。事实上,bzero函数包含在string,h头文件中,而string.h曾经是POSIX标准的一部分,但是在posix.1

    2022年10月13日
    2
  • mysql—如何为innodb选择主键

    mysql—如何为innodb选择主键

    2020年11月12日
    222
  • python pyquery节点内所有文本_PyQuery详解[通俗易懂]

    python pyquery节点内所有文本_PyQuery详解[通俗易懂]在之前写的爬虫入门里,PyQuery一笔带过,这次详细地讲一下。为什么选择PyQuery?Python爬虫解析库,主流的有PyQueryBeautifulsoupScrapySelectors正则表达式。PyQuery和scrapySelectors都是基于lxml模块,而lxml和正则表达式都是C语言写的,只有Beautifulsoup是用纯Python编写的,所以在实测中,Beautifu…

    2022年6月7日
    53
  • 为什么引入ReLU激活函数

    为什么引入ReLU激活函数https://blog.csdn.net/fredinators/article/details/79443386ReLu是神经网络中的一个激活函数,其优于tanh和sigmoid函数。1.为何引入非线性的激活函数?如果不用激活函数,在这种情况下每一层输出都是上层输入的线性函数。容易验证,无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(…

    2022年6月20日
    34
  • 使用青花瓷对Android app 抓包

    使用青花瓷对Android app 抓包记录一下使用青花瓷抓包的过程(主要Android中的app)青花瓷window版本下载地址:http://www.pc6.com/softview/SoftView_426224.htmlhttps://www.charlesproxy.com/官网地址前提条件,电脑和手机存在于同一个网路下,才能实现抓包操作。1.获取代理服务器的地址(主要是给手机用):cmd中输入…

    2022年5月11日
    41
  • Python 自定义包的导入问题 和 打包成exe无法在别的电脑运行的问题

    Python 自定义包的导入问题 和 打包成exe无法在别的电脑运行的问题

    2021年11月23日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号