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

[导读]:超平老师的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.mfbz.cn/a/125348.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

07、SpringBoot+微信支付 -->处理超时订单(定时查询、核实微信支付平台的订单、调用微信支付平台查单接口、更新本地订单状态、记录支付日志)

目录 Native 支付处理超时订单定时的讲解需求分析代码定时任务:WxPayTask定时查询的方法:核实订单状态等操作 :WxPayServiceImpl查单接口方法:queryOrder更新本地订单状态:updateStatusByOrderNo记录支付日志&#xff…

TCP网络编程

一)TCP Socket介绍: 1)TCP和UDP有着很大的不同,TCP想要进行网络通信的话首先需要通信双方建立连接以后然后才可以进行通信,TCP进行网络编程的方式和文件中的读写字节流类似,是以字节为单位的流进行传输 2)针对于TCP的套接字来说,J…

ubuntu 火焰图脚本

环境ubuntu1804 x86_64 #!/bin/bash if [ "$2_" "_" ];thenecho "usage ./fire.sh oncpu/offcpu pid"exit fiif [ "$1_" "oncpu_" ];thensudo perf record -F 99 -p $2 -g -- sleep 10syncsudo perf script > out.pe…

144. 二叉树的前序遍历

描述 : 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 题目 : LeetCode 二叉树的前序遍历 : 144. 二叉树的前序遍历 分析 : 我们先选一个最小的子树: 先判断5节点不是null之后把5添加到集合里 , 再把5的左节点递归 , 判断7节点不是null把7添加到集合中 …

Git简介和安装

一,Git简介 Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git 仓库来存储和管理这些文件,Git 仓库分为两种: 本地仓库:开发人员自己电脑上的 Git 仓库 远程仓库:远程…

云MES优势有哪些?

云MES可以说是近几年来的行业焦点,云MES使用公共云提供商(如华为云、腾讯云、阿里云等)的全球数据中心中的广泛硬件和基础架构,在公共云中的Internet上运行,线下线上互联互通,有效帮助企业实现生产数字化智能化。 近几年来云服务…

Linux 多线程编程详解

目录 为什么要使用多线程 线程概念 线程的标识 pthread_t 线程的创建 向线程传入参数 线程的退出与回收 线程主动退出 线程被动退出 线程资源回收(阻塞方式) 线程资源回收(非阻塞方式) 为什么要使用多线程 在编写代码时,是否会遇到以下的场景会感觉到难以…

显著提升!| (WOA)融合模拟退火和自适应变异的混沌鲸鱼优化算法应用于函数寻优

鲸鱼优化算法(whale optimization algorithm,WOA)是由Mirjalili和Lewis[1]于2016年提出的一种新型群体智能优化搜索方法,它源于对自然界中座头鲸群体狩猎行为的模拟,与其它群体智能优化算法相比,WOA算法结构新颖, 控制参数少,在许多数值优化和…

在IDEA中配置Web开发环境

一、idea配置Web开发环境 第一步:下载并安装Tomcat服务器(建议放根目录,完整路径中不要出现中文) 第二步:打开IDEA,新建java项目 第三步:为项目添加Web应用 在项目上右键➡️选择“Add Framew…

在线存储系统源码 网盘网站源码 云盘系统源码

Cloudreve云盘系统源码-支持本地储存和对象储存,界面美观 云盘系统安装教程 测试环境:PHP7.1 MYSQL5.6 Apache 上传源码到根目录 安装程序: 浏览器数据 http://localhost/CloudreveInstallerlocalhost更换成你的网址 安装完毕 记住系统默认的账号密码 温馨提示:如果默认…

已解决:云原生领域的超时挂载Bug — Kubernetes深度剖析

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

线性代数(三) | 向量组的秩 线性相关无关 几何直观理解 题解应用

文章目录 1 维数?向量组的秩究竟是什么?1.1 线是一维的1.2 面是二维的1.3 体是三维的 2 线性相关、线性无关、线性表示究竟是什么?2.1 基于以上几何直观的解题角度2.2 基于方程组的解题角度 1 维数?向量组的秩究竟是什么&#xff…

10道高频Vuex面试题快问快答

※其他的快问快答,看这里! 10道高频Qiankun微前端面试题快问快答 10道高频webpack面试题快问快答 20道高频CSS面试题快问快答 20道高频JavaScript面试题快问快答 30道高频Vue面试题快问快答 面试中的快问快答 快问快答的情景在面试中非常常见。 在面试过…

[100天算法】-面试题 17.11.单词距离(day 68)

题目描述 有个内含单词的超大文本文件,给定任意两个单词,找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次,而每次寻找的单词不同,你能对此优化吗?示例:输入:word…

天津WEB前端培训哪家好?Web机构推荐!

05年以后,互联网已经进入了web2.0时代,同时也标志着网站的前端由此发生了翻天覆地的变化,现在市场上对WEB前端开发工程师岗位有着很大的需求,学习web前端开发的方式有很多种,对于初学者来说,选择自学还是培…

大数据毕业设计选题推荐-河长制大数据监测平台-Hadoop-Spark-Hive

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

2023.11-9 hive数据仓库,概念,架构

目录 一.HDFS、HBase、Hive的区别 二.大数据相关软件 三. Hive 的优缺点 1)优点 2)缺点 四. Hive 和数据库比较 1)查询语言 2)数据更新 3)执行延迟 4)数据规模 五.hive架构流程 六.MetaStore元…

AI:73-结合语法知识的神经机器翻译研究

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

企业微信开发教程一:添加企微应用流程图解以及常见问题图文说明

最近在前辈的基础上新添加了一个企微应用,过程中遇到了一些卡点,这里一一通过图片标注与注释的方式记录一下,希望能给后来人提供一些清晰明了的帮助,话不多说,大家直接看图吧。 (文中包括一些本项目独有的配…

[Matlab]基于LSTM+NSGA2的风光火力发电策略优化

最近比较忙,好久没分享案例啦,今天简单分享一个滚动时域的多目标优化 一 模型介绍 1 风电 2 光伏 3 火电 4 储能 5 用电需求 等五个对象。 其中风电和光伏还有用电需求,用历史数据LSTM网络,训练一个预测模型;火电根据策…