2023-12蓝桥杯STEMA 考试 Python 中高级试卷解析

news2025/1/21 14:15:42

蓝桥杯STEMA 考试 Python 中高级试卷(12 月)
一、选择题
第一题
以下哪项是取余运算符?( C
A、*    B、//    C、%    D、+

第二题
已知:s = "python",执行 print(s[::2])语句后,输出的结果是( B )。
A 、 python    B 、pto C 、 nohtyp    D 、 yhn

第三题
在 Python 中,下面哪个选项可以获取字符串中某字符出现的次数?( B
A、length()     B、count()     C、size()     D、len()

第四题
Python 中的列表和元组的主要区别是(  A )。
A、列表中元素的值可修改,元组中元素的值不可修改
B、列表是有序的,元组是无序的   
C、列表是一维的,元组可以是多维的
D、列表可以包含不同类型的元素,元组只能包含相同类型的元素

第五题
关于 Python 语言的浮点数类型,以下选项中描述错误的是( A )。
A、小数部分不可以为 0
B、带有小数的类型通常用浮点数类型表示
C、float(x) 中 x 可以是十进制实数形式的字符串
D、整数写成指数形式是浮点数类型

二、编程题
第一题
编程实现:
小青有 N 个小球,小蓝有 M 个小球,请计算他们一共有多少个小球。
例如:N = 2,M = 3,表示小青有 2 个小球,小蓝有 3 个小球,一共有 5 个小球(5 = 2 + 3)。
输入描述:
第一行输入一个整数 N(1≤N≤1000),表示小青的小球数量第二行输入一个整数 M(1≤M≤1000),表示小蓝的小球数量
输出描述:
输出一个整数,表示一共有多少个小球
样例输入:
2
3
样例输出:
5

# 示例代码
a=int(input())
b=int(input())
print(a+b)

第二题
编程实现:
给定一个长度为 11 的字符串 S,表示电话号码,然后将电话号码中第三位数字后的连续四位数字用“*”替换,并输出替换后的字符串。
例如:S = "13900001234",用“*”替换第三位数字后的连续四位数字为“139****1234”。
输入描述:
输入一个长度为 11 的字符串 S(字符串仅包含 0~9 之间的数字且首个字符只能为 1),表示电话号码
输出描述:
输出一个字符串,表示替换后的字符串
样例输入:
13900001234
样例输出:
139****1234

# 示例代码
s=input()
print(s[0:3]+'*'*4+s[7:])

第三题
编程实现:
给定 N 个长度不同的字符串,请将每个字符串的最后一个字符删除,并按长度从短到长的顺序换行输出。
例如:N = 3,3 个字符串分别为 dfgas、abc、cbdf,删除最后一个字符后为 dfga、ab、cbd;
按长度从短到长的顺序换行输出为:
ab cbd dfga
输入描述:
第一行输入一个整数 N(2≤N≤10),表示字符串的个数
第二行输入 N 个长度不同的字符串(2≤字符串长度≤20),字符串之间以一个空格隔开
输出描述:
输出 N 行字符串,表示所有字符串删除最后一个字符后,按长度从短到长的顺序换行输出的结果
样例输入:
3
dfgas abc cbdf
样例输出:
ab cbd dfga

# 示例代码
n=int(input())
ls=list(input().split())  # 分割并放入列表
ans_ls=[x[0:len(x)-1] for x in ls] # 去掉每个字符串的最后一个字母
ans_ls.sort(key=len) # 按长度排序
for i in ans_ls:
    print(i,end=' ')  # 输出

第四题
编程实现:
有 N 张扑克牌叠放在桌上,A 和 B 两人轮流抽牌,每次只能从最上面或最下面抽一张牌,当最后一张牌被抽完时,比较 A 和 B 两人扑克牌的点数总和,点数总和大的一方胜利,点数相同时双方均不算胜利。A 先抽牌,请统计一共有多少种不同的抽牌情况,A 有多少种不同的获胜情况。
例如:N = 3,有 3 张扑克牌,从上往下的点数依次为 3、2、1。A 先抽牌,所有不同的抽取情况有:
第一种:A 抽 3,B 抽 1,A 再抽 2,A 的点数总和为 5,B 的点数总和为 1;第二种:A 抽 3,B 抽 2,A 再抽 1,A 的点数总和为 4,B 的点数总和为 2;第三种:A 抽 1,B 抽 3,A 再抽 2,A 的点数总和为 3,B 的点数总和为 3;第四种:A 抽 1,B 抽 2,A 再抽 3,A 的点数总和为 4,B 的点数总和为 2;一共有 4 种不同的抽牌情况,A 有 3 种不同的获胜情况。
输入描述:
第一行输入一个整数 N(2≤N≤20),表示扑克牌的张数
第二行输入 N 个整数(1≤整数≤13),同一个整数不能出现超过 4 次,表示从上往下每张扑克牌的点数, 整数之间以一个空格隔开
输出描述:
第一行输出一个整数,表示一共有多少种不同的抽牌情况第二行输出一个整数,表示 A 有多少种不同的获胜情况
样例输入:
3
3 2 1
样例输出:
4
3

# 示例代码  由于数据量比较小这里用位运算模拟了一下
n = int(input())
cards = list(map(int, input().split()))
res1= pow(2,n-1)
print(res1)
res2=0
for i in range(1,res1+1):
    m,a,b,x, y =i, 0,0, 0, n - 1
    for j in range(0,n):
        if j%2==0 :
            if m&1 :
                a+=cards[x]
                x+=1
            else:
                a += cards[y]
                y-=1
        else:
            if m & 1:
                b += cards[x]
                x += 1
            else:
                b += cards[y]
                y -= 1
        m>>=1
    if a>b:
        res2+=1
print(res2)

第五题
编程实现:
有一张 N 行 N 列的网格纸,网格中每个小格子都是 1×1 的正方形,有些格子被填充成橙色。请数一数橙色区域一共有多少个矩形。
例如:N = 4,4 行 4 列的网格纸如下图:

图中网格纸的橙色区域一共有 7 个矩形。
输入描述:
第一行输入一个正整数 N(2≤N≤50)
接下来输入 N 行,每行 N 个整数(整数只能为 1 或 0 ),其中 1 表示填充成橙色,0 表示没有填充成橙色,整数之间以一个空格隔开
输出描述:
输出一个整数,表示橙色区域的矩形数量
样例输入:
4
1001
0000
1001
0110
样例输出:
7

# 示例代码
n=int(input())
ls=[]
for i in range(n):
    lst=list(input())
    ls.append(lst)

def judge(x,y,a,b):
    for i in range(a):
        for j in range(b):
            if ls[x+i][y+j]!='1':
                return False
    return True

res=0
for a in range(1,n+1):
    for b in range(1,n+1):
        for x in range(n-a+1):
            for y in range(n-b+1):
                if judge(x,y,a,b):
                    res+=1
print(res)

第六题
编程实现:
老师在黑板上写了一个不超过 500 位的整数 n(1≤n<10500),要求同学们擦掉其中任意 k 个数字,剩余数字的顺序不变,希望得到的数最大。
例如:n = 69134,k = 2,从 69134 中擦掉 2 个数字;从左往右,将第一个位置的 6 和第三个位置的
1 擦掉,变成的新数 934 是最大的。

输入描述:
输入两个整数 n 和 k(1≤n<10500,0≤k<n 的位数),整数之间以一个空格隔开
输出描述:
输出一个整数,表示擦掉 k 个数字后,得到的最大数
样例输入:
69134 2
样例输出:
934

# 示例代码
s,n=input().split()
ls=list(s)
n=int(n)
for i in range(n):
    t=True
    for j in range(1,len(ls)):
        if ls[j-1]<ls[j]:
            ls.pop(j-1)
            t=False
            break
    if t:
        ls.pop()
s=''.join(ls)
print(s)

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

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

相关文章

【Java程序设计】【C00265】基于Springboot的地方废物回收机制管理系统(有论文)

基于Springboot的地方废物回收机制管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的地方废物回收机构管理系统 本系统分为管理员功能模块以及员工功能模块。 管理员功能模块&#xff1a;管理员登录系统后…

使用matplotlib库来绘制柱状图

# coding: utf-8 from matplotlib import pyplot as plt from matplotlib import font_manager# 定义区间和宽度列表 interval [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 60, 90] width [5, 5, 5, 5, 5, 5, 5, 5, 5, 15, 30, 60] # 定义数量列表 quantity [836, 2737, 3723, …

【QT+QGIS跨平台编译】之三十六:【RasterLite2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、RasterLite2介绍二、文件下载三、文件分析四、pro文件五、编译实践一、RasterLite2介绍 RasterLite2是一个开源的轻量级栅格数据库,可以用于存储和管理各种类型的栅格数据,包括卫星遥感图像、数字高程模型等。 与传统的GIS数据存储方式不同,RasterLite2采用基…

【程序设计竞赛】C++与Java的细节优化

必须强调下&#xff0c;以下的任意一种优化&#xff0c;都应该是在本身采用的算法没有任何问题情况下的“锦上添花”&#xff0c;而不是“雪中送炭”。 如果下面的说法存在误导&#xff0c;请专业大佬评论指正 读写优化 C读写优化——解除流绑定 在ACM里&#xff0c;经常出现…

基于Qt的人脸识别项目(功能:颜值检测,口罩检测,表情检测,性别检测,年龄预测等)

完整代码链接在文章末尾 效果展示 代码讲解(待更新) qt图片文件上传 #include <QtWidgets> #include <QFileDialog>

普通男孩的新年创作纪念日

前言 首先在新春佳节&#xff0c;小编在这里祝各位大佬。萌新友友们新年好&#xff0c;希望每一个烟火般的你在新的一年里 offer 多多&#xff0c;薪资多多 &#xff0c;龙行龘龘 &#x1f409; &#x1f409; &#x1f409; &#x1f409;&#xff0c;前程朤朤 ❤️ ❤️ ❤…

Ps:堆栈模式在摄影后期的应用

Photoshop 的堆栈模式 Stack Mode为摄影师提供了一种强大的后期处理能力&#xff0c;通过堆叠和处理多张照片来实现无法单靠一张照片完成的效果。 正确的前期拍摄策略和后期处理技巧可以显著提高最终图像的质量和视觉冲击力。 ◆ ◆ ◆ 前期拍摄通用注意事项 在前期拍摄时&am…

【排序】快速排序

基本思想 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&#xff0c;其基本思想为&#xff1a;任取待排序元素序列中的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两子序列&#xff0c;左子序列中所有元素均小于基准值&#xff0c;右子序列中所…

视频讲解:优化柱状图

你好&#xff0c;我是郭震 AI数据可视化 第三集&#xff1a;美化柱状图&#xff0c;完整视频如下所示&#xff1a; 美化后效果前后对比&#xff0c;前&#xff1a; 后&#xff1a; 附完整案例源码&#xff1a; util.py文件 import platformdef get_os():os_name platform.syst…

STM32 寄存器操作 GPIO 与中断

一、如何使用stm32寄存器点灯&#xff1f; 1.1 寄存器映射表 寄存器本质就是一个开关&#xff0c;当我们把芯片寄存器配置指定的状态时即可使用芯片的硬件能力。 寄存器映射表则是开关的地址说明。对于我们希望点亮 GPIO_B 的一个灯来说&#xff0c;需要关注以下的两个寄存器…

Linux---网络套接字

端口号 端口号 端口号是一个2字节16位的整数; 端口号用来标识一个进程, 告诉操作系统, 当前的这个数据要交给哪一个进程来处理; IP地址 端口号能够标识网络上的某一台主机的某一个进程; 一个端口号只能被一个进程占用 在公网上&#xff0c;IP地址能表示唯一的一台主机&…

大模型激活函数知识

FFN块 计算公式 在Transformer模型中&#xff0c;FFN&#xff08;Feed-Forward Network&#xff09;块通常指的是在编码器&#xff08;Encoder&#xff09;和解码器&#xff08;Decoder&#xff09;中的一个全连接前馈网络子结构。FFN块位于自注意力层&#xff08;Self-Attent…

C语言第二十三弹---指针(七)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 指针 1、sizeof和strlen的对比 1.1、sizeof 1.2、strlen 1.3、sizeof 和 strlen的对比 2、数组和指针笔试题解析 2.1、⼀维数组 2.2、二维数组 总结 1、si…

Java 基于微信小程序的私家车位共享系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

WebSocket原理详解

目录 1.引言 1.1.使用HTTP不断轮询 1.2.长轮询 2.websocket 2.1.概述 2.2.websocket建立过程 2.3.抓包分析 2.4.websocket的消息格式 3.使用场景 4.总结 1.引言 平时我们打开网页&#xff0c;比如购物网站某宝。都是点一下列表商品&#xff0c;跳转一下网页就到了商品…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Marquee组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Marquee组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Marquee组件 跑马灯组件&#xff0c;用于滚动展示一段单行文本&#xff0c;仅当…

【Effective Objective - C 2.0】——读书笔记(三)

文章目录 十五、用前缀避免命名空间冲突十六、提供全能初始化方法十七、实现description方法十八、尽量使用不可变对象十九、使用清晰而协调的命名方式二十、为私有方法名加前缀二十一、理解Objective-C错误模型二十二、理解NSCopying协议 十五、用前缀避免命名空间冲突 OC语言…

WSL外部SSH连接有效方法

前言 wsl作为windows下使用linux平台有效的手段之一&#xff0c;本文可以让win作为工作站&#xff0c;外部系统用来连接win下的wsl系统。 自动启动服务脚本 https://zhuanlan.zhihu.com/p/47733615 开机自启端口转发 wslname "Ubuntu-20.04" 要转发端口的Linux…

不懂编程?节点包来凑——Dynamo常用节点包推荐(上)

由于篇幅有限&#xff0c;本次文章我们分上、下两篇&#xff0c;来分享给大家。 Dynamo作为一款辅助三维设计工具&#xff0c;他可以通过图形化的编程&#xff0c;帮我们解决很多在设计或者建模过程中遇到的小问题&#xff1b;同时他作为一款可视化编程软件&#xff0c;学起来…