字符三角形-第10届蓝桥杯国赛Python真题精选

news2025/1/14 18:04:08

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

字符三角形,本题是2019年5月25日举行的第10届蓝桥杯青少组Python编程国赛真题,题目要求编程实现用输入的字符构成高为输入数值的不填充等腰三角形。

先来看看题目的要求吧。

一.题目说明

编程实现:

读入一个半角英文字符和一个 2-19 之间的数值,用输入的字符构成高为输入数值的不填充等腰三角形。

输入描述:

第一行:用于构成不填充等腰三角形的一个半角英文字符

第二行:等腰三角形的高,范围在 2-19 之间

输出描述:

按照题意输出的等腰三角形

样例输入:

$

6

样例输出:

图片

评判标准:

  • 10 分:能至少一次用读入的半角英文字符符进行输出,而不论输出字符的数量和构成的形状是否符合题意;

  • 30 分:至少对一个评判用例,能输出高度符合输入要求的形状,虽然构成的形状不完全符合题目要求;

  • 50分:完全符合题意,即所有评判用例的输出均正确。

二.思路分析

这是一道打印图形的题目,涉及的知识点包括输入输出处理和for循环。

这里的难点是如何找到等腰三角形的规律,为了方便理解,超平老师绘制了一个表格,如下:

图片

这是输入符号为$,数字为6的情况。

其中,第一行只有1个$符号,最后一行有11个$符号,其它每一行都是两个$符号。所以,对于第一行和最后一行,可以单独处理。

第一行,先输出5个空格,然后输出一个$符号即可。

最后一行,直接输出11个$符号。

其它的行,可以分成4段来处理,分别输出空格、$、空格和$,分析过程如下:

第2行:输出4个空格,输出1个$,输出1个空格,输出1个$;第3行:输出3个空格,输出1个$,输出3个空格,输出1个$;第4行:输出2个空格,输出1个$,输出5个空格,输出1个$;第5行:输出1个空格,输出1个$,输出7个空格,输出1个$;

一旦找到这其中的规律,我们就可以将其推广到行数为n的情况,当输入为n的时候:

  • 第1行,输出n - 1个空格,然后输出符号;

  • 第n行,输出 (2 * n - 1)个符号;

  • 其它行,这里假定行号为i ,i从0开始(方便写for循环),先输出 (n - 1 - i)个空格,然后输出1个符号,接着输出(2 * i - 1)个空格,最后输出1个符号;

最大的难点解决了,还有一个小问题,如何输出多个字符呢?

在Python编程中,*运算符除了可以作为乘法使用之外,还有其它很多用法,比如重复容器中和字符串的内容,比如:​​​​​​​

a = [0] * 5 # a = [0,0,0,0,0]s = '$' * 5 # s = '$$$$$'

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

三.编程实现

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

图片

简单说明3点:

1). 默认情况下,用户从键盘输入的都是字符串,对于整数,需要使用int()函数进行转换;

2). 对于空格,直接使用' ' 或" ",引号里面要打一个空格;

3). 字符串连接运算,最简的就是使用+;

你可以输入各种不同的符号,打印出对应的符号等腰三角形。至此,整个程序就全部完成了。

四.总结与思考

本题的分数为50分,代码在10行左右,涉及到的知识点包括:

  • 输入和输出;

  • 字符串操作,包括重复和连接;

  • *运算符的妙用;

  • +运算符的妙用;

  • for...in循环;

  • 多分支条件语句;

题目难度一般,关键是要找到字符输出的规律,与其说是考孩子的编程知识,不如说是考查孩子的推理能力和逻辑思维能力。

对于这类找规律的问题,超平老师建议你在纸上画图或表格,正所谓一图在手,啥也不愁。然后使用归纳法从特殊到一般,如此一来,问题就迎刃而解了。

至于知识点层面,本题涉及到的都是一些常用的知识点,比较特殊一点的就是*和+这两个运算符的妙用。即使一时没有想到这些,也可以使用其它来实现的。

超平老师给你留一个思考题,本题打印的是一个正着放的三角形,如果要打印一个倒立的等腰三角形,你知道如何实现吗?

图片

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

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

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

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

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

相关文章

基于DS1302时钟液晶12864显示2路闹钟仿真及源程序

一、系统方案 1、本设计采用51单片机作为主控器。 2、DS1302采集年月日时分秒送到液晶12864显示。 3、按键年月日时分秒,两路闹钟。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 uchar clock_time[6] {0X00,0X59,0X23,0X09,0X…

【带头学C++】----- 四、动态内存空间申请 ---- 4.1 动态内存分配

1.动态内存分配概述 在C和C等语言中,可以使用malloc、calloc、realloc或使用new等函数来动态分配内存空间,同时使用free、delete函数释放动态分配的内存空间,这样可以根据程序的实际需要动态管理内存,避免静态内存分配的局限性。 …

Windows查看端口占用情况

Windows如何查看端口占用情况 方法1. cmd命令行执行netstat命令,查看端口占用情况 netstat -ano 以上命令输出太多信息,不方便查看,通过如下命令搜索具体端口占用情况,例如:8080端口 netstat -ano | findstr "…

STM32--时钟树

一、什么是时钟? 时钟是单片机的脉搏,是系统工作的同步节拍。单片机上至CPU,下至总线外设,它们工作时序的配合,都需要一个同步的时钟信号来统一指挥。时钟信号是周期性的脉冲信号。 二、什么是时钟树? S…

可视化技术专栏100例教程导航帖—学习可视化技术的指南宝典

🎉🎊🎉 你的技术旅程将在这里启航! 🚀🚀 本文专栏:可视化技术专栏100例 可视化技术专栏100例领略各种先进的可视化技术,包括但不限于大屏可视化、图表可视化等等。订阅专栏用户在文章…

两两交换链表中的节点 --- 递归回溯算法练习四

目录 1. 分析题意 2. 分析算法原理 2.1. 递归思路: 1. 挖掘子问题 3. 编写代码 3.1. step 1: 3.2. step 2: 3.3. step 3: 3.4. 递归代码 1. 分析题意 力扣上原题链接如下: 24. 两两交换链表中的节点 - 力扣&am…

【Linux】Linux 中关于 MySQL 的相关操作

Linux 中关于 MySQL 的相关操作 Linux 系统与 MySQL 数据库是目前互联网开发中最为流行的组合之一。Linux 作为开源的操作系统,具有运行效率高、安全性好等优点;而 MySQL 作为开源的数据库,具有运行速度快、可靠性高等特点。 (1&…

Panda3d 场景管理

Panda3d 场景管理 文章目录 Panda3d 场景管理有关分层场景图的重要信息NodePathNodePath 以及 Node 的函数调用模型文件文件格式加载模型文件将模型放置在场景图中模型缓存压缩模型异步加载模型通过回调函数进行 常见的状态变化修改节点的位置和姿态改变父级节点改变颜色隐藏和…

前端视角中的微信登录

目录 引入 流程介绍 具体实现 引入 本文主要讲解网站应用中微信登录的具体流程是怎么样的,以及作为前端开发人员在这整个流程中的主要任务是什么。 如果想要实现微信登录的功能,需要开发人员到微信开放平台注册相应的账号,进行注册应用&am…

入选《人工智能领域内容榜》

入选《人工智能领域内容榜》第 23名 C# OpenCvSharp DNN HybridNets 同时处理车辆检测、可驾驶区域分割、车道线分割-CSDN博客

登录注册代码模板(Vue3+SpringBoot)[邮箱发送验证码(HTML)、RSA 加密解密(支持长文本)、黑暗与亮色主题切换、AOP信息校验]

文章归档:https://www.yuque.com/u27599042/coding_star/cx5ptule64utcr9e 仓库地址 https://gitee.com/tongchaowei/login-register-template 网页效果展示 相关说明 在该代码模板中,实现了如下功能: 邮箱发送验证码(邮件内容…

视频批量剪辑:视频合并技巧全攻略,成为视频剪辑专家

在视频制作的过程中,我们常常会遇到需要将多个视频片段合并的需求。这不仅涉及到视频的排列和组合,还需要考虑过渡效果、音频同步等因素。在视频制作过程中,视频批量剪辑是一个非常关键的环节。它可以大大提高工作效率,减少重复劳…

使用 HTTP Client 轻松进行 API 测试

在开发过程中,我们经常需要测试 API 接口以确保其正常工作。JetBrains 的集成开发环境(IDE)如 CLion、IntelliJ IDEA、PyCharm 等,默认内置了 HTTP Client 插件,可以方便地进行API测试。本文将介绍如何使用HTTP Client…

css实现div倾斜效果

效果如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head> <style> *{margin:0;padding: 0;} .box1{margin:30px 100px;width:100px;height:200px;background:blueviolet;} …

十分钟了解自动化测试

自动化测试 自动化测试的定义&#xff1a;使用一种自动化测试工具来验证各种软件测试的需求&#xff0c;它包括测试活动的管理与实施、测试脚本的开发与执行。 自动化测试只是测试工作的一部分&#xff0c;是对手工测试的一种补充; 自动化测试绝不能代替手工测试;多数情况下&…

计算机中怎么依据字节数组找到对应的字符

问题引入 将中文字符“你”用UTF-8编码转成字节数组后&#xff0c;为什么是这样的三个数字&#xff1f; byte[] bytes "你".getBytes(StandardCharsets.UTF_8);for (byte t:bytes){System.out.println(t);} 打印的结果如下&#xff1a; -28 -67 -96 你有没有很好…

网页推理游戏

目录 python challenge &#xff08;0&#xff09; &#xff08;1&#xff09; &#xff08;2&#xff09; The Riddle &#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09; &#xff08;4&#xff09; Nazo &#xff08;1&#xff09;…

玩转ansible之参数调试和文件操作篇

更多IT技术文章&#xff0c;欢迎关注微信公众号“运维之美” 玩转ansible之参数调试和文件操作篇 01 剧本调试和帮助02 使用场景举例 上节我们学习了使用ansible进行软件安装&#xff0c;那么安装完软件后&#xff0c;就需要linux系统和软件配置修改了&#xff0c;对于linux主机…

OSPF综合

实验拓扑 实验需求&#xff1a; 1 R4为ISP&#xff0c;其上只能配置IP地址; R4与其他所有直连设备间均使用公有IP 2 R3-R5/6/7为MGRE环境&#xff0c;R3为中心站点 ; 3 整个OSPF环境IP基于172.16.0.0/16划分; 4 所有设备均可访问R4的环回; 5 减少LSA的更新量&#xff0c;加快收…

数据分析实战 | 逻辑回归——病例自动诊断分析

目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据准备 七、模型训练 八、模型评价 九、模型调参 十、模型预测 一、数据及分析对象 CSV文件——“bc_data.csv” 数据集链接&#xff1a;https://download.csdn.net/d…