版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2024年8月第15届蓝桥杯Python编程青少组(选拔赛_中高级)真题(含答案)一、单选题。1.运行下面程序,输出的结果是()。s='py'print('t'.join(s))A.tpyB.ptyC.tptyD.tptyt标准答案:B。2.运行下面程序,输出的结果是()。x=1,2,3print(type(x))A.<-Cl-Ass'tuple'>B.<-Cl-Ass'int'>C.<-Cl-Ass'list'>D.报错标准答案:A。3.下列哪个函数可以返回列表中的最大值?()。A.len()B.sum()C.sort()D.m-Ax()标准答案:D。4.下列哪个运算符可将两个字符串拼接起来?()。A.*B.+C.%D.//标准答案:B。5.关于Python函数的描述,错误的是()。A.调用函数时,实参可以是一个表达式。B.没有return语句的函数执行结束后,返回None。C.函数形参为n-Ame新式时,n-Ame形参接收一个字典。D.调用函数时,关键字参数必须在位置参数后面。标准答案:C。二、编程题。6.偶数。题目描述:(注.input()输入函数的括号中不允许添加任何信息)。偶数:指能够被2整除的整数。例如:2468。给定一个偶数n,计算n可以由多少个2相加得到。例如:n=10;10可以由5个2相加得到(2+2+2+2+2)。输入描述:输入一个偶数n(2≤n≤100)。输出描述:输出一个整数,表示n可以由多少个2相加得到。样例输入:10样例输出:5参考程序:n=int(input())print(n/2)7.字母比较。题目描述:(注.input()输入函数的括号中不允许添加任何信息)。给定两个不相同的大写字母,比较它们在英文字母表中的位置,输出位置更靠后的字母。例如:大写字母D和H;D和H相比,H在英文字母表中位置更靠后。输入描述:第一行输入一个大写字母。第二行输入一个大写字母。输出描述:输出位置靠后的字母。样例输入:DH样例输出:H参考程序:m=input()n=input()ifm>n:print(m)else:print(n)8.石头运输。题目描述:给定三个整数,表示三块石头的重量。请你在不分割石头的情况下,将三块石头分给两辆车运输,使得两辆车各自运输的石头总重量尽可能相近,并分别输出两辆车运输的石头总重量。例如:•a.三块石头的重量分别为4、2、3。•b.一辆车运输重量为4的石头。•c.另一辆车运输重量为2和3的石头。•d.两辆车运输的石头总重量分别是4和5,各自运输的石头总重量已尽可能相近,所以输出4和5。输入描述:输入仅一行,包含三个整数(1≤整数≤200),分别表示三块石头的重量,整数之间以一个空格隔开。输出描述:按从小到大的顺序输出两个整数,分别表示两辆车各自运输的石头总重量,整数之间以一个空格隔开。样例输入:423样例输出:45参考程序:w=list(map(int,input().split()))w_min=w_max=w[0]foriinrange(1,3):ifw_min>w[i]:w_min=w[i]#求最小值。ifw_max<w[i]:w_max=w[i]#求最大值。w_mid=sum(w)-w_min-w_max#求最中间值。c1=w_min+w_midc2=w_maxifc1>c2:print(c2,c1)else:print(c1,c2)9.连续正整数和。题目描述:(注:input()输入函数的括号中不允许添加任何信息)。给定一个正整数n,请计算n最多可以由多少个连续(2个及以上)的正整数相加得到,如果n不能由连续的正整数相加得到,则输出-1。例如:n=100;100可以由以下2组连续的正整数相加得到。第一组:9、10、11、12、13、14、15、16。第二组:18、19、20、21、22。100最多可以由8个连续的正整数相加得到,输出8。例如:n=8;8不能由连续的正整数相加得到,输出-1。输入描述:输入一个正整数n(3≤n≤108)。输出描述:输出一个整数,表示n最多可以由多少个连续的正整数相加得到;如果n不能由连续的正整数相加得到,则输出-1。样例输入:100样例输出:8参考程序:importmathdefmain():n=int(input())t=8*n+1s=math.isqrt(t)#计算整数平方根。k_max=(s-1)//2#最大可能的k值。#从k_max递减到2检查每个k。forkinrange(k_max,1,-1):#计算k个连续整数的和中除去首项的部分。temp=n-(k*(k-1))//2#检查temp是否为正且能被k整除。iftemp>0andtemp%k==0:print(k)return#没有找到满足条件的k。print(-1)if__name__=="__main__":main()10.浇花系统。题目描述:有n棵植物,排成一排,从左到右的编号分别为:1,2,3,…,n;n颗植物所需的水量分别为:w1,w2,w3,…wn。小丁为植物设计了一套浇水系统。浇水系统:每次会将连续的L棵植物分别浇1份水。每棵植物可以被重复浇水,如果当前植物已经满足所需水量,系统会将多浇的水排到水池中。请计算浇水系统最少要浇多少次才能满足所有植物所需水量,以及排到水池的水量。例如:n=4,L=3;4棵植物所需要的水量分别为1、1、3、2,浇水系统每次会将连续的3棵植物分别浇上1份水。以下是浇水次数最少的一种方式:•第一次:将第1、2、3棵植物分别浇上1份水,浇水后4棵植物所需水量为0、0、2、2。•第二次:将第2、3、4棵植物分别浇上1份水,浇水后4棵植物所需水量为0、0、1、1,由于第2棵植物已经满足所需水量,所以系统会将此次多余的1份水排到水池。•第三次:将第2、3、4棵植物分别浇上1份水,浇水后4棵植物所需水量为0、0、0、0,此次系统也会将第2棵植物多余的1份水排到水池;所以,浇水系统最少需要浇3次,并且将多余的2份水排到水池。输入描述:第一行输入两个整数n、L(1≤L≤n≤1000),分别表示植物的数量和浇水系统每次连续浇灌的植物数量,整数之间以一个空格隔开。第二行输入n个整数w(0<=w;<=1000),分别表示编号1~n的植物所需的水量,整数之间以一个空格隔开。输出描述:输出两个整数,分别表示浇水系统最少的浇水次数,以及排到水池的水量,整数之间以一个空格隔开。样例输入:431132样例输出:32参考程序:n,L=map(int,input().split())plants=list(map(int,input().split()))times=0water=0i=0foriinrange(n-L+1):#前n-L个植物浇水。ifplants[i]>0:time=plants[i]#将浇水量设为当前植物需水量。forjinrange(i,i+L):#往后取L个浇水。plants[j]-=time#浇水。ifplants[j]<0:#如果小于0,代表需要排水。water-=plants[j]plants[j]=0times+=timeifmax(plants[-L:])>0:#后面L个存在需要水的植物。time=max(plants[-L:])#直接浇最多需水量的水。forjinrange(L):plants[j-L]-=timeifplants[j-L]<0:water-=plants[j-L]times+=timeprint(times,water)11.夺取宝石。题目描述:(注.input()输入函数的括号中不允许添加任何信息)。一个n行n列的网格,表示魔塔。魔塔的每个格子中有一个怪物或一瓶药水。一名勇士,有初始体力值,从魔塔左上角入口的格子进入,到右下角出口的位置夺取宝石,夺取宝石的规则如下:(1)勇士只能从魔塔内走到右下角且每次只能向下或向右走一格。(2)怪物格子中有一个负整数,表示勇士进入该格子后会损失对应体力值;药水格子中有一个正整数,表示勇士进入该格子后,会增加对应体力值。例如:怪物格子中的负整数为-4时,表示勇士进入该格子后,会损失4体力值;药水格子中的正整数为2时,表示勇士进入该格子后,会增加2体力值。(3)夺取宝石全程,勇士须保持体力值大于0,否则夺取宝石失败。给定n行n列的魔塔,请计算勇士最少需要多少初始体力值才可以成功夺取宝石。给定n行n列的魔塔,请计算勇士最少需要多少初始体力值才可以成功夺取宝石。例如:n=3;3行3列的魔塔如下:按照-1、2、-4、2、-2的路线,当勇士初始体力值为4时。第一步:勇士进入-1格子,损失1体力值,体力值变为3。第二步:勇士接着进入2格子,增加2体力值,体力值变为5。第三步:勇士接着进入-4格子,损失4体力值,体力值变为1。第四步:勇士接着进入2格子,增加2体力值,体力值变为3。第五步:勇士接着进入-2格子,损失2体力值,体力值变为1。勇士成功夺取宝石,且全程体力值均大于0,最少需要4初始体力值。输入描述:第一行输入一个整数n(2≤n≤200),表示魔塔的行数和列数接下来输入n行,每行n个整数(-1000≤整数≤1000,整数不能为,其中负整数表示勇士进入该怪物格子会损失的体力值,正整数表示勇士进入该药水格子会增加的体力值,整数之间以一个空格隔开。输出描述:输出一个整数,表示勇士最少需要的初始体力值。样例输入:3-11-62-41-52-2样例输出:4参考程序:n=int(input())grid=[list(map(int,input().split()))foriinrange(n)]dp=[[0]*nforiinrange(n)]dp[-1][-1]=max(1,1-grid[-1][-1])#初始化最后一行和最后一列。foriinrange(n-2,-1,-1):dp[i][-1]=max(1,dp[i+1][-1]-grid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 注册会计师审计中首次接受委托期初余额的审计程序
- 3.5操作基础数据表
- 高级综合商务英语2(第二版)课件 Unit 3 Economy Watch
- 智慧陪伴静待花开-高三家长冲刺期全攻略
- 某建筑公司工程质量管理办法
- 2026春季学期国家开放大学专本科《计算机应用基础》一平台在线形考作业一至三试题及答案
- 2026河北石家庄井陉矿区人民医院招聘16人备考题库及答案详解【新】
- 2026湖南郴州市第一人民医院招聘58人备考题库及答案详解【名校卷】
- 2026中运博(扬州)文化服务有限责任公司工作人员招聘15人备考题库及参考答案详解(精练)
- 2026广东广州市白云区石门第一实验幼儿园招聘3人备考题库含答案详解(完整版)
- 白家海子煤矿矸石覆岩离层注浆充填项目报告表
- 2026年及未来5年市场数据中国剧本杀行业市场调查研究及投资前景展望报告
- 2026年宁波城市职业技术学院单招职业倾向性测试题库含答案详解(a卷)
- 麻醉复苏室转入转出标准及流程
- 人教版初中英语七年级下册Unit3 Keep Fit SectionB 阅读课教案
- 内部控制评价工作方案
- 2026民政局标准版离婚协议书
- (正式版)DB21∕T 3090-2018 《高密度聚乙烯渔业船舶建造标准》
- PIC-S GMP Guide 国际药品认证合作组织GMP指南培训课件
- 2025-2030德国纺织服装业市场现状供需分析及投资评估规划分析研究报告
- 新能源汽车的推销方案(15篇)
评论
0/150
提交评论