奇偶数递增递减-第13届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第70讲。

奇偶数递增递减,本题是2021年10月24日举办的第13届蓝桥杯青少组Python编程选拔赛真题编程部分第4题。题目要求编程对给定的正整数N,从1到N之间按偶数递增奇数递减的顺序排列输出。

先来看看题目的要求吧。

一.题目说明

编程实现:

给定一个正整数N,将1到N之间(包含1和N)的正整数按偶数递增、奇数递减的顺序排列输出。

例如:

给定的正整数为5,1到5之间偶数有2、4,按偶数递增顺序排列为[2,4],1到5之间奇数为1、3、5,按奇数递减顺序排列为[5,3,1],故输出的结果为:2,4,5,3,1。

输入描述:

输入一个正整数N

输出描述:

将1到N之间(包含1和N)的所有正整数按偶数递增、奇数递减的顺序排列输出,正整数之间以一个英文逗号隔开(先输出偶数,再输出奇数)

样例输入:

5

样例输出:

2,4,5,3,1

二.思路分析

这是一道简单的题目,考查的知识点包括循环、列表和输入输出等。

如果你仔细阅读题目的话,会发现它已经给我们提供了一个思路,将1~N之间的正整数分成偶数和奇数两个部分。

不妨使用两个列表来保存偶数和奇数,当N = 5时,拆分如下:

偶数:[2, 4]奇数:[1, 3, 5]

然后,将奇数列表逆序,偶数列表保持不变,如下:​​​​​​​

偶数:[2, 4]奇数:[5, 3, 1]

接下来,将两个列表重新组合起,如下:

[2, 4, 5, 3, 1]

这不就是我们要的结果吗,按照题目要求,用逗号分隔输出即可。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

根据上面的思路分析,我们编写程序如下:

图片

代码比较简单,说明4点:

1).  在获取偶数和奇数列表的时候,使用了列表推导式的编程技巧;

2). 使用join()函数时,需要将数字转成字符串,所以在构造列表时,使用了str()函数将数字转成了字符;

3). 获取奇数列表时是正序的,然后运用切片运算,将odd列表逆序再连接;

4). Python编程中,使用+运算可以将两个列表合并成一个列表。

至此,整个程序就全部完成了,你可以输入不同的数字来测试效果啦。

四.总结与思考

本题代码在5行左右,涉及到的知识点包括:

  • 循环语句;

  • 列表推导式;

  • 切片运算;

  • 字符串运算;

本题难度一般,代码较少,重点考察列表的使用,包括列表推导式、列表切片、列表合并和列表转字符串等。

在Python编程中,列表是一种非常重要的数据结构,其应用几乎无处不在,一定要熟练掌握和列表相关的各种处理和运算。

超平老师给你留一道思考题,除了上面的方法外,你还有什么方法可以实现?

你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要源码的,可以移步至“超平的编程课”gzh。

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

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

相关文章

vite+ts+mock+vue-router+pinia实现vue的路由权限

0.权限管理 前端的权限管理主要分为如下: 接口权限路由权限菜单权限按钮权限 权限是对特定资源的访问许可,所谓权限控制,也就是确保用户只能访问到被分配的资源 1.项目搭建 创建vite项目 yarn create vite配置别名 npm install path -…

4. C++入门:内联函数、auto关键字、范围for及nullptr

内联函数 概念 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率 对比C的宏 C语言不足:宏 #define ADD(x, y) ((x)(y))int main() {int ret…

python实现520表白图案

今天是520哦,作为程序员有必要通过自己的专业知识来向你的爱人表达下你的爱意。那么python中怎么实现绘制520表白图案呢?这里给出方法: 1、使用图形库(如turtle) 使用turtle模块,你可以绘制各种形状和图案…

Docker 安装kingbase V8r6

下载 官网下载,注意:这里下载 Docker 版本v8r6 安装 # 导入镜像 docker load -i kingbase.tar# 重命名 docker tag [image-name]:[tag] [new-image-name]:[new-tag]# 删除 docker rmi [image-name]:[tag]# 创建容器 docker run -tid \ --privileged \…

【前端】使用 Canvas 实现贪吃蛇小游戏

使用 Canvas 实现贪吃蛇小游戏 在这篇博客中,我们将介绍如何使用 HTML5 Canvas 和 JavaScript 实现一个简单的贪吃蛇(Snake)小游戏。这个项目是一个基础的游戏开发练习,它可以帮助你理解如何在 Canvas 上绘图、如何处理用户输入以…

Android:OkHttp网络请求框架的使用

目录 一,OkHttp简介 二,OkHttp请求处理流程 三,OkHttp环境配置 四,OkHttp的使用 1.get网络请求 2.post上传表单数据 3.post上传json格式数据 4.文件上传 5.文件下载 一,OkHttp简介 OkHttp是square公司推出的一…

rust的版本问题,安装问题,下载问题

rust的版本、安装、下载问题 rust版本问题, 在使用rust的时候,应用rust的包,有时候包的使用和rust版本有关系。 error: failed to run custom build command for pear_codegen v0.1.2 Caused by: process didnt exit successfully: D:\rus…

Aspose.PDF功能演示:在 JavaScript 中将 TXT 转换为 PDF

您是否正在寻找一种在 JavaScript 项目中将纯文本文件从TXT无缝转换为PDF格式的方法?您来对地方了!无论您是要构建 Web 应用程序、创建生产力工具,还是只是希望简化工作流程,直接从 JavaScript 代码中将 TXT 转换为 PDF 的功能都可…

第3天 Web源码拓展_小迪网络安全笔记

1.关于web源码目录结构 #数据库配置文件 后台目录 模板目录 数据库目录 1.1数据库配置文件: 1.1就拿wordpress来说,先到官网下载源码:Download – WordPress.org,解压源码之后: 2.2找到目录下名为 wp-config-sample.php的文件,这就是数据库配置文件: 设想: 我们在渗透…

FOURIER NEURAL OPERATOR FOR PARAMETRIC PARTIAL DIFFERENTIAL EQUATIONS

参数偏微分方程的傅里叶神经算子 论文链接:https://arxiv.org/abs/2010.08895 项目链接:https://github.com/neuraloperator/neuraloperator 作者博客:https://zongyi-li.github.io/blog/2020/fourier-pde/ 参数偏微分方程的傅里叶神经算子…

本地部署Terraria泰拉瑞亚私服并通过内网穿透生成公网地址远程联机

文章目录 前言1. 下载Terraria私服2. 本地运行Terraria 私服3. 本地Terraria私服连接4. Windwos安装Cpolar 工具5. 配置Terraria远程联机地址6. Terraria私服远程联机7. 固定远程联机地址8. 固定的联机地址测试 前言 本文将为你详细介绍在本地如何运行泰拉瑞亚本地私服和结合C…

java企业级云MES系统全套源码,支持app、小程序、H5、台后管理

企业级云MES全套源码,支持app、小程序、H5、台后管理端 企业级智能制造MES系统源码,技术架构:springboot vue-element-plus-admin MES指的是制造企业生产过程执行系统,是一套面向制造企业车间执行层的生产信息化管理系统。MES可以…

栈(基于动态顺序表实现的栈)

栈的简单介绍 关于栈的性质咳咳 栈:栈是一种特殊的线性表,其中只让在一端插入和删除元素。 后进先出 进行插入删除的那一端叫栈顶,另一端叫栈底 我们实现的栈是基于一个动态顺序表的的栈,会实现栈的 入栈,出栈,获取…

修改默认时区,默认语言,默认国家

确认时区,语言,国家 build/make/target/product/languages_default.mkframeworks/base/packages/SettingsLib/res/xml/timezones.xml设备mk中添加相关内容 PRODUCT_PROPERTY_OVERRIDES \persist.sys.timezoneEurope/AmsterdamPRODUCT_PROPERTY_OVERRI…

前端vue用el-table如何实现表头内容过长换行处理,实现换行效果

前端vue用el-table如何实现表头内容过长换行处理,实现换行效果 这是效果图 有两种方法,一种简易版本,一种万能方法,都是el-table,先看文档 表头标题是可以自定义的 方法一 label的解释写在代码里面了,这里会自动形成换…

Python概述

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 了解Python Python,本义是指“蟒蛇”。1989年,荷兰人Guido van Rossum发明了一种面向对象的解释型高级编程语言,…

利用神经网络学习语言(六)——总结与常见面试问题

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 文章列表: 利用神经网络学习语言(一)——自然语言处理的基本要素利用神经网络学习语言&…

Java基础入门day49

day49 tomcat 启动 进入tomcat的bin目录,双击或者运行startup.bat文件启动tomcat 控制台最后出现服务器启动在多少毫米之内,代表服务器成功启动 org.apache.catalina.startup.Catalina.start Server startup in 405 ms 验证tomcat 在浏览器中输入 loca…

[算法] 优先算法(二): 双指针算法(下)

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (91平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀Java …

基于transformers框架实践Bert系列6-完形填空

本系列用于Bert模型实践实际场景,分别包括分类器、命名实体识别、选择题、文本摘要等等。(关于Bert的结构和详细这里就不做讲解,但了解Bert的基本结构是做实践的基础,因此看本系列之前,最好了解一下transformers和Bert…