草庐IT

蓝桥杯Python第十四届选拔赛3月12日真题含解析

学编程找Tony 2023-08-02 原文
  1. 选择题(共5道)

1、(4.0分)下列选项中,哪一个不是集合中的内置方法?( )

A. isdisjoint ( )

B. copy ( )

C. string ( )

D. issubset ( )

答案:C

解析:

copy ( ) 能复制集合里面的所有元素,返回一个浅复制;issubset ( ) 判断集合是不是包含其他集合,等同于a>=b;isdisjoint ( ) 判断两个集合是不是不相交。A、B、D均是集合的内置方法,故选C。

2、(4.0分)已知s = "hello python",则s[1: 8]表示的是( )。

A. hello py

B. hello p

C. ello py

D. ello p

答案:C

解析:字符串的切片格式为s[起点索引: 终点索引 + 1]。起点索引为1,对应的字母为e;起点索引为7,对应的字母为y,故切出字符串"ello py",选择C。

3、(4.0分)执行print(23 / 10)语句后,输出的结果是( )。

A. 2

B. 2.3

C. 3

D. 23

答案:B

解析:“/”表示除法运算符,运算结果一定为浮点数。23 除以 10的结果为2.3,故选B。

4、(4.0分)下列函数中,哪一个可以生成随机小数?( )

A. randint ( )

B. randrange ( )

C. shuffle ( )

D. random ( )

答案:D

解析:randint(a, b)表示随机生成一个a~b范围内的整数;randrange(a, b, step)表示随机生成一个a~b之间指定步长范围内的整数;shuffle ( )的功能是随机打乱列表元素顺序。A、B、C都不具有生成随机小数的功能。random ( )功能是生成一个0到1范围内的随机浮点数,故选D。

5、(4.0分)下列关于列表描述不正确的是( )。

A. 列表中的元素可以使用下标/索引访问

B. 列表中的元素可以使用del语句删除

C. 使用add方法可以向列表中添加元素

D. 列表是包含0个或者多个对象引用的有序序列

答案:C

解析:del 是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素,B选项正确。向列表中添加元素的方法是append,故C选项错误,选择C。


二、编程题(共5道)

第一题15.0分

题目描述:

(注.input ( )输入函数的括号中不允许添加任何信息)

编程实现:

给定整数N(-1000≤N≤1000),输出比N大1的数。

例如:N = 5,比5大1的数是6,则输出6。

输入描述

输入一个整数N(-1000≤N≤1000)

输出描述

输出一个整数,表示比N大1的数

样例输入

5

样例输出

6

参考代码:

第二题18.0分

题目描述:

(注.input ( )输入函数的括号中不允许添加任何信息)

编程实现:

给定一个正整数N(10≤N≤10000),输出N中所有数位上最小的数字。

例如:N = 1182,1182各数位上的数字分别为1、1、8、2,其中数位上最小的数字为1,则输出1。

输入描述

输入一个正整数N(10≤N≤10000)

输出描述

输出一个整数,表示N中所有数位上最小的数字

样例输入

1182

样例输出

1

解析

方法1:可以使用字符串的方式获取正整数的每一位数。将每一位上的数字转换成整数类型后,添加入一个列表,使用min ( )函数即可。

方法2:可以直接对字符串使用min ( )函数,返回最小ASCII码的字符('0' < '1' < '2' ....)。

参考代码:

第三题20.0分

题目描述:

(注.input ( )输入函数的括号中不允许添加任何信息)

编程实现:

给定一组整数数据(不超过100个整数),按顺序完成以下操作并输出结果。

操作要求:

1)将数据中的所有负整数转化为正整数;

2)对转化后的数据进行从小到大排序。

例如:

整数数据为1,-3,6,-2,将负整数转化为正整数后得到1,3,6,2,按数值从小到大排序后的结果为1,2,3,6。

输入描述

输入一行整数数据(-100≤N≤100),整数之间以一个英文逗号隔开

输出描述

输出一行整数数据,表示按照要求操作后的结果,整数之间以一个英文逗号隔开

样例输入

1,-3,6,-2

样例输出

1,2,3,6

解析

根据题意,首先使用for循环对列表遍历修改,abs ( )绝对值函数可以将负整数转化为正整数。然后使用sorted ( )对列表进行排序。最后根据输出格式要求,使用单独输出最后一个元素或字符串拼接的办法,实现多数据一行逗号隔开的输出形式。

参考代码

第四题25.0分

(注:输入输出描述及样例可能和真题存在出入,仅供参考)

题目描述:

(注.input ( )输入函数的括号中不允许添加任何信息)

编程实现:

假设果园中有N(1≤N≤100)种水果。猴子想要采摘一些水果带回家,但猴子采摘水果的总重量不能超过W(1≤W≤1000)。

已知每种水果的最大采摘数量Ni(1≤Ni≤100)、每种水果单个的重量Wi(1≤Wi≤100)以及每种水果单个的维生素含量Vi(1≤Vi≤100)。在采摘水果的总重量不超过W的情况下,猴子最多可以获得多少维生素。

例如:N = 3,W = 5,表示有3种水果,且猴子采摘水果的总重量不能超过5。

每种水果的最大采摘量Ni、每种水果单个的重量Wi及每种水果单个的维生素含量Vi,如下表:

第一种水果拿3个,第二种水果拿1个,第三种水果不拿,总体积为5,最大可获得维生素含量为3 * 2 + 4 * 1 = 10。

输入描述

第一行输入两个正整数表示N,W,数字之间以空格隔开

接下来N行,每行输入3个正整数,分别表示Ni,Wi,Vi,数字之间以空格隔开

输出描述

输出一个数,表示在采摘水果的总重量不超过W的情况下,猴子最多可以获得多少维生素

样例输入

3 5

4 1 2

1 2 4

2 1 1

样例输出

10

解析

本题为多维背包问题,即背包中每种物体数量为有限多个,由输入数组给出。解决该问题可用个数较多的物品进行捆绑,变成多种物品,由01背包、完全背包演变而来。

参考代码

第五题30.0分

(注:输入输出描述及样例可能和真题存在出入,仅供参考)

题目描述:

(注.input ( )输入函数的括号中不允许添加任何信息)

编程实现:

两名宇航员在探索一个未知行星,行星上有一些障碍物,这些障碍物用数字1表示,没有障碍物用数字0表示。行星被表示成一个N*M的矩阵。探索过程中两名宇航员走散了。已知A宇航员的位置(x1,y1)和B宇航员的位置(x2,y2),请你帮助A宇航员找到一条最短路径到达B宇航员的位置,并输出最短路径的长度(不包括起点)。

注意:

1.x1、x2表示矩阵的行号,y1、y2表示矩阵的列号;

2.左上角的位置为(0,0);

3.A、B宇航员的位置只能在数字0上;

4.有障碍物的位置不能通过。

例如:当N=4,M=5,x1=1,y1=0,x2=3,y2=3,A宇航员的位置(1,0),B宇航员的位置(3,3),矩阵表示如下:

其中,从A到B的最短路线用箭头表示,最短路线长度为7。

输入描述

第一行输入两个正整数N,M,正整数之间以空格隔开

接下来的N行,每行输入M个数,数字1表示障碍物,数字0表示没有障碍物,数字之间以空格隔开

第N+2行输入四个整数,分别表示x1,y1,x2,y2,整数之间以空格隔开

输出描述

输出一个数,表示A宇航员到达B宇航员位置的最短路径的长度(不包括起点)

样例输入

4 5

0 0 0 0 0

0 1 0 1 0

0 1 0 0 0

0 0 1 0 0

1 0 3 3

样例输出

7

解析

本题使用了广度优先搜索算法(BFS),搜索从起点到终点的最短路径。

参考代码

有关蓝桥杯Python第十四届选拔赛3月12日真题含解析的更多相关文章

  1. Ruby 解析字符串 - 2

    我有一个字符串input="maybe(thisis|thatwas)some((nice|ugly)(day|night)|(strange(weather|time)))"Ruby中解析该字符串的最佳方法是什么?我的意思是脚本应该能够像这样构建句子:maybethisissomeuglynightmaybethatwassomenicenightmaybethiswassomestrangetime等等,你明白了......我应该一个字符一个字符地读取字符串并构建一个带有堆栈的状态机来存储括号值以供以后计算,还是有更好的方法?也许为此目的准备了一个开箱即用的库?

  2. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  3. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  4. ruby - 用逗号、双引号和编码解析 csv - 2

    我正在使用ruby​​1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\

  5. ruby-on-rails - 我更新了 ruby​​ gems,现在到处都收到解析树错误和弃用警告! - 2

    简而言之错误:NOTE:Gem::SourceIndex#add_specisdeprecated,useSpecification.add_spec.Itwillberemovedonorafter2011-11-01.Gem::SourceIndex#add_speccalledfrom/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91./opt/local/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails/gem_dependency.rb:275:in`==':und

  6. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  7. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  8. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  9. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  10. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

随机推荐