当前位置: 首页 > news >正文

【蓝桥杯选拔赛真题76】python找出元素 第十四届青少年组蓝桥杯python选拔赛真题 算法思维真题解析

目录

python找出元素

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、程序说明

五、运行结果

六、考点分析

七、 推荐资料

1、蓝桥杯比赛

2、考级资料

3、其它资料


python找出元素

第十四届蓝桥杯青少年组python比赛选拔赛真题

一、题目要求

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

1、编程实现

给定一个长度为N的列表(N为偶数),请你找出列表中出现次数大于N/2次的元素如:N=4,列表为[3,2,3,3],其中列表中出现次数大于2(4/2)的元素为3,故输出3。

2、输入输出

输入描述:输入N个整数,整数之间一个英文逗号隔开,N个整数表示列表中的元素

输出描述:输出列表中出现次数大于N/2次的元素,如果不存在则输出-1

输入样例:

3,2,3,3

输出样例:

3

二、算法分析

  1. 题目相对而言有一点小难度,难在大于N/2的元素分析
  2. 列表数字可以有多个,但是我们可以具体分析会发现
  3. 满足条件的列表里面的元素大于N/2次的最多只有一个
  4. 所以可以用一个变量来保存当前元素
  5. 最后根据变量的值进行判断然后输出即可

三、程序编写

lst1 = input().split(',')
n = len(lst1)
t = 0
for i in lst1:if lst1.count(i) > n/2:t = iif t == 0:print(-1)
else:print(t)

四、程序说明

  1. 代码首先使用input()函数获取用户输入,并使用split(',')将输入的字符串以逗号分隔为一个列表,赋值给lst1变量
  2. 然后使用n = len(lst1)获取列表的长度,并初始化变量t为0
  3. 使用for i in lst1循环遍历列表中的元素,依次赋值给变量i
  4. 在循环中,使用lst1.count(i)统计元素i在列表中出现的次数,然后与n/2进行比较
  5. 如果出现次数超过了列表长度的一半,将元素i赋值给变量t
  6. 循环结束后,判断变量t的值,如果为0则表示没有找到出现次数超过一半的元素,输出-1;否则输出变量t的值。

五、运行结果

3,2,3,3
32,2,2,3,3
2

六、考点分析

难度级别:中等,这题相对而言还是有一点小难度,难在题目分析,具体主要考查如下:

  1. 学会分析题目,找到解题思路
  2. 学会简单的算法知识的应用
  3. input函数:Python 中 input() 函数接受一个标准输入数据,返回为 string 类型。
  4. int函数:强制将传入对象转换成整数类型
  5. split函数:按照指定的分隔符进行分割
  6. list函数:强制将参数转化成列表对象
  7. 学会列表的相关操作:列表声明、统计、遍历、长度等等
  8. 学会for循环的使用:for循环可以遍历任何有序的项及列表元素等等。
  9. range函数:rang(a,b),循环的时候是不包括b的,所以我们这个案例中要转变一下,要想包含b,就应该写成range(a,b+1)
  10. 学会if...条件判断语句的使用:满足条件才执行相应的程序
  11. 学会if...else双分支语句的使用:满足条件执行一种处理程序,不满足执行另一种处理程序
  12. print函数:用于打印输出,最常见的一个函数。
  13. 充分掌握for循环和列表相关操作函数的使用

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

七、 推荐资料

  • 所有考级比赛学习相关资料合集【推荐收藏】

1、蓝桥杯比赛

  • 蓝桥杯python选拔赛真题详解

  • 蓝桥杯python省赛真题详解

  • 蓝桥杯python国赛真题详解

  • 历届蓝桥杯科技素养计算思维真题解析

2、考级资料

  • python等级一级真题解析【电子学会】

  • python等级二级真题解析【电子学会】

  • python等级三级真题解析【电子学会】

  • python等级四级真题解析【电子学会】

3、其它资料

  • 初学python100例

  • 历届蓝桥杯scratch国赛真题解析
  • 历届蓝桥杯scratch省赛真题解析
  • 历届蓝桥杯scratch STEMA选拔赛真题解析
  • 历届蓝桥杯科技素养计算思维真题解析
  • 画图-scratch编程考级99图
  • 电子学会历年scratch等级考试一级真题解析
  • 电子学会历年scratch等级考试二级真题解析
  • 电子学会历年scratch等级考试三级真题解析
  • 电子学会历年scratch等级考试四级真题解析
  • 零基础学习scratch3.0【入门教学 免费】
  • 零基础学习scratch3.0【视频教程 114节 免费】

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • LeetCode/NowCoder-链表经典算法OJ练习3
  • 使用elementUI的form表单校验时,错误提示位置异常解决方法
  • Qt学习记录(14)线程
  • pdf打开方式怎么设置默认?分享这几种设置方法
  • Ribbon负载均衡(自己总结的)
  • Wpf 使用 Prism 实战开发Day24
  • DA-CLIP论文阅读笔记
  • 如何在VSCode中修改默认终端
  • 如何使用JMeter 进行全链路压测
  • 【Linux取经路】线程同步——条件变量
  • 1、什么是模块化,为什么要模块化?2、衡量模块独立的定性标准是什么?用自己的话表达其含义3、如何理解信息隐藏和局部化?用自己的话或者例子表达其含义
  • JavaScript异步编程:理解和使用Promise、Async/Await
  • Sentinel的授权规则详解
  • 浅析FAT32文件系统
  • 洗地机十大品牌排名:2024十大值得入手的洗地机盘点
  • $translatePartialLoader加载失败及解决方式
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java反射-动态类加载和重新加载
  • Joomla 2.x, 3.x useful code cheatsheet
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Zepto.js源码学习之二
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 彻底搞懂浏览器Event-loop
  • 使用 Docker 部署 Spring Boot项目
  • 栈实现走出迷宫(C++)
  • PostgreSQL之连接数修改
  • zabbix3.2监控linux磁盘IO
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #QT(QCharts绘制曲线)
  • #stm32整理(一)flash读写
  • #WEB前端(HTML属性)
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $(function(){})与(function($){....})(jQuery)的区别
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (PADS学习)第二章:原理图绘制 第一部分
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)平衡树
  • (转载)Linux 多线程条件变量同步
  • (转载)深入super,看Python如何解决钻石继承难题
  • *1 计算机基础和操作系统基础及几大协议
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET gRPC 和RESTful简单对比
  • .net SqlSugarHelper
  • .NET 的程序集加载上下文
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • @staticmethod和@classmethod的作用与区别
  • @Transactional 详解