第15届蓝桥杯Python青少组选拔赛(STEMA)2023年8月真题-附答案

15届蓝桥杯Python青少组选拔赛(STEMA20238月真题

题目总数: 11 总分数: 400

一、单选题

1 题 单选题
以下不符合 Python 语言变量命名规则的是( )。
A. k
B. 2_k
C. _k
D. ok
答案 B
2 题 单选题
已知: s = python ,执行 print( s[-1] ) 语句后,输出的结果是( )。
A. python
B. p
C. nohtyp
D. n
答案 D
3 题 单选题
运行 print(type(str(3.14))) 语句后,输出的是( )。
A. class ‘int’
B. class ‘complex’
C. class ‘float’
D. class ‘str’
答案 D
第 4 题 单选题
Python 中,以下哪个选项可以用来遍历一个字典的键和值?( )
A.for key, value in dict.items()
B.for key, value in dict.keys_values()
C.for key, value in dict.iter()
D.for key, value in dict.loop()
答案 A
5 题 单选题
Python 中,以下哪个选项用于获取一个文件的大小?( )
A. os.path.size()
B. os.path.getsize()
C. os.path.length()
D. os.path.filesize()
答案 B

二、编程题

6 题 问答题
编程实现:
给定一个字符,连续输出 3 个该字符。
例如:字符为 A ,连续 3 个字符为 AAA
输入描述:
输入一个字符
输出描述:
输出连续 3 个该字符(字符之间没有空格)
样例输入:
A
样例输出:
AAA
答案:
letter = input()
res = letter *3
print(res)
7 题 问答题
编程实现:
给定一个字符串 S 3≤S 长度 ≤1000 ),输出字符串 S 的最后两个字符。
例如: S =“abcd” abcd 最后两个字符为 “cd” ,则输出 cd
输入描述:
输入一个字符串 S 3≤S 长度 ≤1000
输出描述:
输出一个字符串,表示字符串 S 的最后两个字符
样例输入:
abcd
样例输出:
cd
答案:
s = input()
res = s[-2:] #从倒数第2个字符到最后
print(res)
8 题 问答题
编程实现:
给定一个正整数 N 100≤N≤1000000 ),分别将 N 中奇数位上的数字相加,偶数位上的数字相加,最后将两个相加的和相乘,并输出相乘的结果(奇数位包含个位、百位、万位、百万位,偶数位包含十位、千位、十万位)。
例如: N=1234 ,奇数位上的数字为 4 2 ,相加的和为 6 ;偶数位上的数字为 3 1 ,相加的和为 4;最后相乘的结果为 24 24=64 )。
输入描述:
输入一个正整数 N 100≤N≤1000000
输出描述:
输出一个整数,表示奇数位和与偶数位和相乘的结果
样例输入:
1234
样例输出:
24
答案:
n = input()
n = n[::-1]
odds,evens = 0,0 #奇数和,偶数和
for i in range(len(n)):
    #0--1
    j = i+1
    if j%2==1:
        odds += int(n[i])
    else:
        evens += int(n[i])
print(odds*evens)

9 题 问答题
编程实现:
1 个细胞,从第二天开始,它每天早上会分裂出 1 个新的细胞(分裂这天算新细胞的第一天)。每个新分
裂的细胞从它出生的第 3 天开始,每天早上也会分裂出 1 个细胞。
请计算出到第 N 2≤N≤30 )天晚上共有多少个细胞(假设细胞不会死亡)。
例如: N = 5 ,第 5 天晚上共有 8 个细胞。
输入描述:
输入一个正整数 N 2≤N≤30
输出描述:
输出一个整数,表示到第 N 天晚上细胞的总个数
样例输入:
5
样例输出:
8
答案:
n = int(input())
if n==1:
    res = 1
elif n==2:
    res = 2
else:
    a = 1
    b = 2
    for x in range(3,n+1):
        c = a + b
        a = b
        b = c
    res = c
print(res)

10 题 问答题
编程实现:
在一个 M N 列的网格中放有若干个坚果(一个小格子里最多放一个坚果),第 X Y 列的小格子是小松鼠的家。
小松鼠可以向上下左右的格子移动寻找坚果,但它每次从家出发后,最多可以移动 K 个小格子,发现格子中有坚果,就会将其运回家储藏起来(运回家所移动的格子不做计算),然后再从家出发寻找其他坚果。小松鼠最多可以储藏几个坚果。
例如: M=7 N=6 X=3 Y=4 K=3 ,在 7 6 列的网格中有若干个坚果(如下图),小松鼠的家在第3 行,第 4 列的位置,最多可以移动 3 个小格。
小松鼠最多可以储藏 7 个坚果(小格子底色为绿色的坚果)。
输入描述:
第一行输入两个正整数 M N 2≤M≤30 1≤N≤30 ),表示 M N 列的网格,两个正整数之间以一个英文逗号隔开;
第二行输入两个正整数 X Y 1≤X≤M 1≤Y≤N ),表示小松鼠家的位置在第 X 行第 Y 列,两个正整数之间以一个英文逗号隔开;
第三行输入一个正整数 K 1≤K≤max(M, N)-1),表示小松鼠从家出发后,最多可以移动的小格子数第四行开始,输入 M 行,每行 N 个整数,除了第 X Y 列的小格子用 2 表示小松鼠的家,其他小格子的整数只能是0 或者 1 0 表示小格子中没有坚果, 1 表示小格子中有 1 个坚果,整数之间以一个英文逗号隔开。
输出描述:
输出一个整数,表示小松鼠最多可以储藏的坚果数量。
样例输入:
7,6
3,4
3
0,0,1,0,1,0
0,0,0,0,1,0
0,1,0,2,0,0
1,0,0,1,0,1
0,0,1,0,0,0
0,0,0,0,0,1
1,0,0,1,0,0
样例输出:
7
答案:
m,n = list(map(int,input().split(',')))
sx,sy = list(map(int,input().split(','))) #松鼠的位置 sx所在行,sy列
sx,sy = sx-1,sy-1
max_steps = int(input())
lst =[]
for row in range(m):
	new_line = list(map(int,input().split(',')))
	lst.append(new_line)
res = 0
#遍历二维列表:从上到下,从左到右
for x in range(m):
	for y in range(n):
		dxy= abs(sx-x) + abs(sy-y)
		if dxy <= max_steps and lst[x][y]==1:
			res +=1
print(res)
11 题 问答题
编程实现:
蚂蚁王国住着 N 只蚂蚁,每只蚂蚁都有自己的领地,领地之间可以直接到达或经过其他领地间接到达,可以 直接到达的领地之间的道路距离都为 1 ,但所有领地都有一条唯一的最短路径可以相互到达。
现要在 N 块领地(依次编号为 1~N)中,选出一块领地建立游乐场,使得所有蚂蚁到游乐场的最小距离总和 是 N 种情况中最小的。
例如: N = 8 1~8 号领地之间的连接关系为: 1 5 2 6 3 6 4 5 5 6 4 7 5 8
如果将游乐场创建在 5 号领地,最小距离总和为 10
1 号到 5 号距离为 1 2 号到 5 号距离为 2 3 号到 5 号距离为 2 4 号到 5 号距离为 1 6 号到 5 号距离为 1
7 号到 5 号距离为 2 8 号到 5 号距离为 1
如果将游乐场创建在 6 号领地,最小距离总和为 12
1 号到 6 号距离为 2 2 号到 6 号距离为 1 3 号到 6 号距离为 1 4 号到 6 号距离为 2 5 号到 6 号距离
1
7 号到 6 号距离为 3 8 号到 6 号距离为 2
……
可以发现,将游乐场创建在 5 号领地,最小距离总和 10 是最小的,故输出 10
输入描述:
第一行输入一个正整数 N 2≤N≤20 ),表示领地数量
接下来输入 N-1 行,每行包含两个正整数( 1≤ 正整数 ≤N ,两个正整数不相同),表示两块领地相互之间可以
直接到达,正整数之间以一个英文逗号隔开(数据保证 N 块领地相互之间可以到达)
输出描述:
输出一个整数,表示 N 种情况中最小距离总和的最小值
样例输入:
8
1,5
2,6
3,6
4,5
5,6
4,7
5,8
样例输出:
10
答案:
n = int(input())
ws = []
for x in range(n-1):
	path = list(map(int,input().split(',')))
	ws.append(path)

def findConnect(p):
	lst = []
	for i in range(n-1):
		if p in ws[i]:
			#p, a+b-p :left
			np = sum(ws[i])-p
			if visited[np]==False:
				lst.append(np)
	return lst #返回这个节点的下一层节点,放在列表中

def cost(p,cnt): #计算从节点p到它所有的子节点成本和
	nodes = findConnect(p)
	if len(nodes)==0:
		return 0
	visited[p] = True
	res = 0
	for node in nodes:
		res = res + cost(node,cnt+1) +cnt
	return res

ans=[]
for x in range(1,n+1):
	visited = [False]*(n+1)
	res = cost(x,1)
	ans.append(res)
print(min(ans))

更多蓝桥杯少儿编程学习资料

↓ 点 击 关 注 ↓

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全面解析自然语言处理(NLP):基础、挑战及应用前景

自然语言处理 (NLP) 简介与应用前景 自然语言处理&#xff08;NLP&#xff09;是人工智能和计算语言学的一个分支&#xff0c;致力于使计算机能够理解、解释和生成人类语言。这篇博文将深入探讨自然语言处理的基础知识、挑战、典型任务及其广泛的应用前景。 一、自然语言处理的…

企业部署 LLM 的四种方法

目录 生产环境中的四种 LLM 方法1. 基于上下文的提示工程 -- Prompt Engineering2. 检索增强生成 -- RAG3. 微调模型 -- Fine Tune4. 训练模型参考随着大型语言模型 (LLM) 的快速发展,企业正积极探索其用例,并将首批生成式 AI 应用部署到生产环境中。自今年 LLM 或 LLMOps 真…

全网最详细的软件测试面试题总结+基础知识(完整版)

一、什么是软件&#xff1f; 软件是计算机系统中的程序和相关文件或文档的总称。 二、什么是软件测试&#xff1f; 说法一&#xff1a;使用人工或自动的手段来运行或测量软件系统的过程&#xff0c;以检验软件系统是否满足规定的要求&#xff0c;并找出与预期结果之间的差异…

python3.8安装详细教程

python3.8下载及安装详细教程 Python 3.8 是一个重要的Python版本&#xff0c;它引入了一系列新功能和改进。以下是对Python 3.8的详细概述&#xff0c;包括其关键特性、安装方法以及版本状态等信息。 Python 3.8的关键特性 海象运算符&#xff08;Walrus Operator&#xff09…

字符串操作函数

目录 一.strlen函数 二.strcpy函数 三.strcat函数 四.strcmp函数 五.strncpy函数 六.strncat函数 七.strncmp 函数 八.strstr函数 九.strtok函数 十.strchr函数 十一.strrchr函数 十二.strpbrk函数 十三.strspn函数 十四.strcspn函数 一.strlen函数 size_t str…

yaklang window安装 vscode运行得到“hello world”

资源来源&#xff1a;旅程伊始&#xff1a;Yak 语言环境安装与搭建环境 | Yak Program Language 安装yak语言非常简单&#xff0c;管理员权限打开命令行运行以下命令&#xff1a; powershell (new-object System.Net.WebClient).DownloadFile(https://yaklang.oss-cn-beijing…

“穿越时空的机械奇观:记里鼓车的历史与科技探秘“

在人类文明的发展历程中&#xff0c;科技的创新与进步不仅仅推动了社会的进步&#xff0c;也为我们留下了丰富的文化遗产。记里鼓车&#xff0c;作为一种古老的里程计量工具&#xff0c;其历史地位和技术成就在科技史上具有重要的意义。本文将详细介绍记里鼓车的起源、结构原理…

MySQL数据库设计作业 ——《网上书店系统》数据库设计实验报告

数据库设计作业——《网上书店系统》数据库设计 一、功能需求 普通用户&#xff1a;可以进行最基础的登陆操作&#xff0c;可浏览图书、按类别查询图书、查看 图书的详细信息&#xff0c;还可以注册成为会员。会员&#xff1a;需要填写详细信息&#xff08;真实姓名、性别、手…

SSM学习4:spring整合mybatis、spring整合Junit

spring整合mybatis 之前的内容是有service层&#xff08;业务实现层&#xff09;、dao层&#xff08;操作数据库&#xff09;&#xff0c;现在新添加一个domain&#xff08;与业务相关的实体类&#xff09; 依赖配置 pom.xml <?xml version"1.0" encoding&quo…

springboot+vue+mybatis企业保修系统+PPT+论文+讲解+售后

企业管理系统提供给用户一个企业信息管理的系统&#xff0c;最新的企业信息让用户及时了解企业管理动向,,还能通过交流区互动更方便。本系统采用了B/S体系的结构&#xff0c;使用了java技术以及MYSQL作为后台数据库进行开发。系统主要分为系统管理员、员工和主管三个部分&#…

【C语言】手撕结构体内存对齐

©作者:末央&#xff06; ©系列:C语言初阶(适合小白入门) ©说明:以凡人之笔墨&#xff0c;书写未来之大梦 目录 结构体对齐规则结构体大小计算 - 三步曲 结构体对齐规则 怎么计算结构体的内存大小。这就涉及到结构体内存对齐的问题。 结构体的第⼀个成员对⻬到…

项目实战--MySQL实现分词模糊匹配

一、需求描述 推广人员添加公司到系统时&#xff0c;直接填写公司简称&#xff0c;而公司全称可能之前已经被添加过&#xff0c;为防止添加重复的公司&#xff0c;所以管理员在针对公司信息审批之前&#xff0c;需要查看以往添加的公司信息里是否有相同公司。 二、方案 技术…

项目2:API Hunter 细节回顾 -1

一. 接口调用 对于开发者来说&#xff0c;接口的调用应当是方便快捷的&#xff0c;而且出于安全考虑&#xff0c;通常会选择在后端调用第三方 API&#xff0c;避免在前端暴露诸如密码的敏感信息。 若采用 HTTP 调用方式&#xff1a; HttpClientRestTemplate第三方库&#xf…

【JavaWeb】登录校验-会话技术(一)Cookie与Session

登录校验 实现登陆后才能访问后端系统页面&#xff0c;不登陆则跳转登陆页面进行登陆。 首先我们在宏观上先有一个认知&#xff1a; HTTP协议是无状态协议。即每一次请求都是独立的&#xff0c;下一次请求并不会携带上一次请求的数据。 因此当我们通过浏览器访问登录后&#…

py黑帽子学习笔记_burp

配置burp kali虚机默认装好了社区版burp和java&#xff0c;其他os需要手动装 burp是用java&#xff0c;还得下载一个jython包&#xff0c;供burp用 配apt国内源&#xff0c;然后apt install jython --download-only&#xff0c;会只下载包而不安装&#xff0c;下载的目录搜一…

【JVM-05】Java内存区域(运行时数据区)、对象创建过程、内存布局

【JVM-05】Java内存区域即运行时数据区、对象创建过程、内存布局 1. 介绍下Java内存区域(运行时数据区)1.1 程序计数器(线程私有)1.2 虚拟机栈(线程私有)1.3 本地方法栈(线程私有)1.4 Java堆(线程共享)1.5 方法区(线程共享)1.5.1 方法区和永久代的关系1.5.2 常用参数1.5.3 为什…

用随机森林算法进行的一次故障预测

本案例将带大家使用一份开源的S.M.A.R.T.数据集和机器学习中的随机森林算法&#xff0c;来训练一个硬盘故障预测模型&#xff0c;并测试效果。 实验目标 掌握使用机器学习方法训练模型的基本流程&#xff1b;掌握使用pandas做数据分析的基本方法&#xff1b;掌握使用scikit-l…

AWS的收费方式与计费项目

AWS&#xff08;亚马逊云服务&#xff09;是全球领先的云计算服务提供商&#xff0c;为各种规模和类型的企业提供了广泛的云计算服务。AWS的收费方式和计费项目是许多用户关心的问题&#xff0c;因为了解这些信息有助于企业更好地规划和控制成本。本文将介绍AWS的收费方式和常见…

MobileVitv1替换yolov8主干网络

一、原理介绍 MobileViT模型是为移动设备设计的轻量级、通用目的视觉变换器。它融合了卷积神经网络&#xff08;CNN&#xff09;和视觉变换器&#xff08;ViT&#xff09;的优势&#xff0c;旨在在保持高效性能的同时减少模型参数和降低延迟。以下是关于MobileViT模型的主要原理…

MATLAB中findall用法

目录 语法 说明 示例 查找具有可见或隐藏句柄的图窗 查找句柄处于隐藏状态的对象 查找 Text 对象 提示 findall的功能是查找所有图形对象。 语法 h findall(objhandles) h findall(objhandles,prop1,value1,...,propN,valueN) 说明 h findall(objhandles) 返回 ob…