第14届蓝桥杯青少组python试题解析:22年10月选拔赛

news2024/11/26 2:29:50

选择题

T1. 执行print (5%3) 语句后,输出的结果是 ( )

  • 0
  • 1
  • 2
  • 3

T2. 以下选项中,哪一个是乘法运算符?()

  • %
  • //
  • *
  • **

T3. 已知x=3,求x//2+x**2的运算结果?

  • 7.5
  • 10
  • 8
  • 10.5

T4. 以下选项中,对下面程序的打印结果描述正确的是 ()

a = [1,2,3,4]
i = len(a) - 1
while i >= 0:
	print(a[i])
	i -= 1
  • 把列表a倒序打印出来
  • 把列表a顺序序打印出来
  • 去除列表a的第一项后并以此打印出每一项
  • 去除列表a的最后一项后并依次打印出每一项

编程题

T1. 最后一个字符

问题描述

编程实现输出字符串中最后一个字符。

输入描述

输入一个字符串

输出描述

输出字符串中最后一个字符

样例输入

hgf

样例输出

f

代码实现

s = input()
print(s[-1])

T2. 遥控器

问题描述

空调遥控器上的模式按钮可控制四种模式的切换。空调的初始模式为制热模式

  • 第一次按下按钮变为制冷模式
  • 第二次按下按钮变为睡眠模式
  • 第三次按下按钮变为除湿模式
  • 第四次按下按钮变为制热模式
  • 第五次按下按钮变为制冷模式

以此类推。请计算出按下 N N N次按钮后,空调为何种模式。

输入描述

输入一个正整数 N N N ( 1 < N < 1000 1<N<1000 1<N<1000),表示按下空调遥控器的模式按钮的次数 (初始模式为制热模式)。

输出描述

输出一个大写字母,当按下模式按钮 N N N次后,空调为制热模式则输出 R R R,为制冷模式则输出 L L L,为睡眠模式则输出 S S S,为除湿模式则输出 C C C样例输入

样例输入

5

样例输出

L

代码实现

n = int(input())
s = 'RLSC'
print(s[n % 4])

T3. 兑换券

问题描述

小蓝有多张兑换券,这些兑换券可分为 A A A B B B C C C三种,且 1 1 1 A A A 1 1 1 B B B 1 1 1 C C C组合可以兑换一个玩偶。

现将所有兑换券排成一排,并以字符串的形式给出,请帮助小蓝计算出现有兑换券最多可以兑换几个玩偶。

例如:字符串为 A A B B C A C C C AABBCACCC AABBCACCC,可以组成 2 2 2 A B C ABC ABC,故最多可以兑换 2 2 2个玩偶。

输入描述

输入一个由 A A A B B B C C C三个大写字母组成的字符串 (字符串长度小于 1000 1000 1000),表示所有的兑换券。

输出描述

输出一个整数,表示所有兑换券按照兑换要求最多可以兑换玩偶的数量。

样例输入

AABBCACCC

样例输出

2

代码实现

s = input()
A = s.count('A')
B = s.count('B')
C = s.count('C')
print(min(A, B, C)))

T4. 糖果

问题描述

现有 N N N罐糖果,且己知每罐糖果的初始数量。现给出两个数值 L L L R R R ( L < = R ) (L<=R) (L<=R),需要把每罐糖果的数量调整为: L ≤ L\le L任意一罐糖果的数量 ≤ R \le R R

调整的方式是每次从其中一罐糖果中拿出 1 1 1块放到其他糖果罐中。请你计算出最少调整几次才能使每装糖果的数量都在 L L L R R R范围之间,如果不能将每罐糖果都调整到 L L L R R R范围之间则输出 − 1 -1 1

例如: N = 2 N=2 N=2 2 2 2罐糖果的初始数量为 3 3 3 8 8 8 L = 3 L=3 L=3 R = 6 R=6 R=6,通过调整使得: 3 < = 3<= 3<=任意一罐糖果的数量 < = 6 <=6 <=6,调整方式如下:

  • 第一次从初始数量为 8 8 8的罐中拿1块放到初始数量为 3 3 3的罐中,调整后为 ( 4 , 7 ) (4,7) (4,7)
  • 第二次从数量为 7 7 7的罐中拿 1 1 1块放到数量为 4 4 4的罐中,调整后为 ( 5 , 6 ) (5,6) (5,6)

故最少调整 2 2 2次。

输入描述

输入一共 3 3 3行,第一行为一个整数 n n n,表示一共有 n n n罐糖果;第 2 2 2行为 n n n个整数,用空格分隔,表示每罐糖果的数量;第 3 3 3行为两个整数,用空格分隔,表示 L L L R R R

输出描述

输出一个整数,表示最少调整几次才能使每装糖果的数量都在 L L L R R R范围之间;如果不能完成,则输出 − 1 -1 1

样例输入#1

2
3 8
3 6

样例输出#1

2

样例输入#2

4
4 2 2 4
3 4

样例输出#2

2

代码实现

n = int(input())
a = list(map(int, input().split()))
L, R = map(int, input().split())
z = sum(a)
# 如果不能完成,则输出-1
if z < L * n or z > R * n:
    print(-1)
else:
    ans = 0
    while True:
        a.sort()
        if a[0] >= L and a[n - 1] <= R:
            print(ans)
            break
        # 将最多的向最小的进行调整
        a[n - 1] -= 1;
        a[0] += 1
        # 计数
        ans += 1

T5. 最长路线

问题描述

有一个 N × M N\times M N×M的矩阵,且矩阵中每个方格中都有一个整数( 0 ≤ 0\le 0整数 ≤ 100 \le100 100),小蓝需要按照以下要求从矩阵中找出一条最长的移动路线,且输出最长路线的长度 ( 1 1 1个方格为 1 1 1个长度)。
要求:

  1. 小蓝可以从矩阵中任意一个方格开始向它的上、下、左、右相邻的任意一个方格移动,且移动的路线不能有交叉
  2. 小蓝每次所要移动到的方格中的整数都要小于当前所在方格中的整数(如当前所在的方格中的整数为 3 3 3,那么可以移动到数字为 0 0 0 1 1 1 2 2 2的格子里,不可以移动到数宁为 3 3 3 4 4 4 5 5 5、…的格子里) ;

例如: N = 3 N=3 N=3 M = 3 M=3 M=3,矩阵方格如下图所示,最长路线为 4 → 3 → 2 → 1 → 0 4\rightarrow3\rightarrow2\rightarrow1\rightarrow0 43210,最长路线的长度为 5 5 5
在这里插入图片描述

输入描述

输入第一行为两个整数 n n n m m m,表示矩阵的大小, n n n行, m m m列。
接下来 n n n行,每行 m m m个整数,用空格分隔。

输出描述

输出一个整数,输出最长路线的长度。

样例输入

3 3
1 1 3
2 3 4
1 0 1

样例输出

5

代码实现

n, m = map(int, input().split())
a = []
for i in range(n):
    b = list(map(int, input().split()))
    a.append(b)
# f[i][j]表示从第i行j列出发的最长路线的长度
# 初始化二维列表
f = [[0] * (m + 1) for _ in range(n + 1)]
dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]

# 记忆化搜索
def dfs(i, j):
    if f[i][j] != 0:
        return f[i][j]
    f[i][j] = 1
    for k in range(4):
        x, y = i + dx[k], j + dy[k]
        if x < 0 or x >= n or y < 0 or y >= m: # 越界检查
            continue
        if a[x][y] >= a[i][j]: # 合法性检查
            continue
        f[i][j] = max(f[i][j], dfs(x, y) + 1)
    return f[i][j]
        
ans = 0
for i in range(n):
    for j in range(m):
        ans = max(ans, dfs(i, j))
       
print(ans)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1213684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

P6入门:项目初始化11-项目详情之计算Calculations

前言 使用项目详细信息查看和编辑有关所选项目的详细信息&#xff0c;在项目创建完成后&#xff0c;初始化项目是一项非常重要的工作&#xff0c;涉及需要设置的内容包括项目名&#xff0c;ID,责任人&#xff0c;日历&#xff0c;预算&#xff0c;资金&#xff0c;分类码等等&…

python科研绘图:P-P图与Q-Q图

目录 什么是P-P图与Q-Q图 分位数 百分位数 Q-Q图步骤与原理 Shapiro-Wilk检验 绘制Q-Q图 绘制P-P图 什么是P-P图与Q-Q图 P-P图和Q-Q图都是用于检验样本的概率分布是否服从某种理论分布。 P-P图的原理是检验实际累积概率分布与理论累积概率分布是否吻合。若吻合&#xf…

基于ChatGPT的文本生成艺术框架—WordArt Designer

WordArt Designer是一个基于gpt-3.5 turbo的艺术字生成框架&#xff0c;包含四个关键模块:LLM引擎、SemTypo、Styltypo和TextTypo模块。由gpt-3.5 turbo驱动的LLM引擎可以解释用户输入&#xff0c;从而将抽象概念转化为具体的设计。 SemTypo模块使用语义概念优化字体设计&…

Qt 5.15.11 源码windows编译

1.下载qt5.15.11源码 https://download.qt.io/official_releases/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.zip 2.解码源码到桌面 3.安装cmake ,python ,perl, Visual Studio 2019 Strawberry Perl for Windows Win flex-bison download | SourceForge…

把大模型装进手机,总共分几步?

年初ChatGPT爆火的时候&#xff0c;我去上海参加华为春季新品发布会&#xff0c;用一页keynote提到了大模型技术与手机硬件的结合。虽然只有短短的一两分钟&#xff0c;但我专门发了一条朋友圈&#xff0c;看好自然语言交互能力在手机上的应用。 当时我就有预感&#xff0c;大语…

CSDN每日一题学习训练——Python版(输入起始和结束的正整数,求其两个正整数之间的偶数和、两数相加)

版本说明 当前版本号[20231115]。 版本修改说明20231115初版 目录 文章目录 版本说明目录输入起始和结束的正整数&#xff0c;求其两个正整数之间的偶数和。题目解题思路代码思路参考代码 两数相加题目解题思路代码思路参考代码 输入起始和结束的正整数&#xff0c;求其两个…

51单片机应用从零开始(三)

51单片机应用从零开始&#xff08;一&#xff09;-CSDN博客 51单片机应用从零开始&#xff08;二&#xff09;-CSDN博客 详解 KEIL C51 软件的使用建立工程-CSDN博客 详解 KEIL C51 软件的使用设置工程编绎与连接程序-CSDN博客 目录 1. 用单片机控制第一个灯亮 2. 认识单片…

<MySQL> 查询数据进阶操作 -- 联合查询

目录 一、什么是笛卡尔积&#xff1f; 二、什么是联合查询&#xff1f; 三、内连接 3.1 简介 3.2 语法 3.3 更多的表 3.4 操作演示 四、外连接 4.1 简介 4.2 语法 4.3 操作演示 五、自连接 5.1 简介 5.2 自连接非必要不使用 六、子查询(嵌套查询) 6.1 简介 6.…

C语言:简单的用二维数组打印杨氏三角

杨辉三角&#xff0c;又称帕斯卡三角&#xff0c;是一个数学上的规律图形。它的构造规则如下&#xff1a; 每一行的两个端点数字是1。从第三行开始&#xff0c;每个数字是它上方两个数字的和。每一行数字左右对称。 #include<stdio.h> int main() {int arr[50][50];//定…

应用架构的演进 I 使用无服务器保证数据一致性

在微服务架构中&#xff0c;一个业务操作往往需要跨多个服务协作完成&#xff0c;包含了读取数据和更新多个服务的数据同时进行。在数据读取和写入的过程中&#xff0c;有一个服务失败了&#xff0c;势必会造成同进程其他服务数据不一致的问题。 亚马逊云科技开发者社区为开发者…

笔试面试相关记录(13)

&#xff08;1&#xff09;一个链表&#xff0c;当一个结点为偶数&#xff0c;且它前面的结点为奇数时&#xff0c;将这个节点合并到前面的结点中&#xff0c;一直执行这个操作&#xff0c;知道没有满足条件的结点时。 输入如下&#xff1a;{2,3,4,1,2,2,3} 输出&#xff1a;…

windiws docker 部署jar window部署docker 转载

Windows环境下从安装docker到部署前后端分离项目(springboot+vue) 一、前期准备 1.1所需工具: 1.2docker desktop 安装 二、部署springboot后端项目 2.1 部署流程 三、部署vue前端项目 3.1相关条件 3.2部署流程 四、前后端网络请求测试 一、前期准备 1.1所需工具: ①docke…

炒现货黄金怎么做?挖掘黄金的投资机会

黄金一直以来都是备受投资者追捧的避险资产&#xff0c;其价值和潜力是无法忽视的。而炒现货黄金作为一种快速获取收益的投资方式&#xff0c;备受关注。那么&#xff0c;如何在炒现货黄金中找到投资机会呢&#xff1f;为您详细解析&#xff0c;简单易懂&#xff0c;帮助您开启…

[PyTorch][chapter 63][强化学习-QLearning]

前言&#xff1a; 这里结合走迷宫的例子,重点学习一下QLearning迭代更新算法 0,1,2,3,4 是房间&#xff0c;之间绿色的是代表可以走过去。 5为出口 可以用下图表示 目录&#xff1a; 策略评估 策略改进 迭代算法 走迷宫实现Python 一 策略评估 强化学习最终是为了…

247:vue+openlayers 根据坐标显示多边形(3857投影),计算出最大幅宽

第247个 点击查看专栏目录 本示例是演示如何在vue+openlayers项目中根据坐标显示多边形(3857投影),计算出最大幅宽。这里先通过Polygon来显示出多边形,利用getExtent() 获取3857坐标下的最大最小x,y值,通过ransformExtent转换坐标为4326, 通过turf的turf.distance和计算…

Winodws核心编程 多线程

目录 一、基本概念 二、线程创建函数 三、Windows内核对象与句柄 四、简单的多线程案例 五、线程同步 - 互斥对象 六、多线程实现群聊的服务端和客户端 七、线程同步 - 事件对象 八、事件对象 与 互斥对象区别 九、线程同步 - 信号量 十、线程同步 - 关键代码段 十一…

HC^2:基于混合对比学习的多场景广告预估建模

1. 摘要 多场景广告预估建模旨在利用多场景的数据来训练统一的预估模型&#xff0c;以提高各个场景的效果。尽管现有研究方法在推荐/广告领域已取得了不错的提效&#xff0c;但现有的建模方式仍然缺乏跨场景关系的考虑&#xff0c;从而导致模型学习能力的限制和场景间相互关系建…

企业APP软件定制开发的关键步骤|网站小程序搭建

企业APP软件定制开发的关键步骤|网站小程序搭建 在当今数字化快速发展的时代&#xff0c;企业越来越意识到拥有自己的APP软件对于提高业务效率和用户体验的重要性。然而&#xff0c;企业APP软件定制开发并不是一项简单的任务&#xff0c;它需要经过一系列关键步骤来确保最终的产…

vagrant+virtualbox的踩坑记录

vagrant virtualbox 文章目录 vagrant virtualbox一、导入虚拟机ova文件失败二、修改虚拟机的保存位置三、无法使用xshell等软件用密码进行连接四、vagrant up失败 一、导入虚拟机ova文件失败 背景&#xff1a;手动删除了虚拟机文件导致无法重新导入相同名称虚拟机的ova文件…

redis-5.0.8主从集群搭建、不重启修改配置文件

一、环境准备 192.168.5.100 redis-01 192.168.5.101 redis-02 192.168.5.102 redis-03 关闭防火墙、能够通网 二、安装redis [rootlocalhost ~]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz [rootlocalhost ~]# tar xf redis-5.0.8.tar.gz -C /usr/loca…