蓝桥杯基础练习汇总详细解析(三)——字母图形、01字符串、闰年判断(详细解题思路、代码实现、Python)

试题 基础练习 字母图形

提交此题   评测记录  

资源限制

内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s

问题描述

利用字母可以组成一些美丽的图形,下面给出了一个例子:

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。

输入格式

输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。

输出格式

输出n行,每个m个字符,为你的图形。

样例输入

5 7

样例输出

ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC

数据规模与约定

1 <= n, m <= 26。

解题分析:

        根据题目描述,我们可以发现这个程序输出的结果是有规律的。我发现的规律是:当输出完第一行字符内容后,第n(n>1)行的首字母按照英文字母表顺序依次往后递增。然后首字母后紧跟着首字母在“英文字母表”的前一个字母。直到当该行的字母变为“A”时,则会输出"A"以后的字母。当一行输出的长度等于程序规定的列数,则“字母图形”一行的内容输出完成。

我的实现思路是:根据ASCII码表示字母,其中“A“对应的ASCII值为65、“B”对应的ASCII值为66(与A的ASCII码值相差1)、“C”对应的ASCII值为67(与A的ASCII码值相差2)....依次类推:可以发现'A'后面的字母对应的ASCII码值可以根据,该字母与A的相对位置推算出来。我使用双层循环实现对程序的输出规范化,将第一个字母的ASCII码值设定为65,然后当字母图形中输出一行内容完毕后,就将第一个字母对应的ASCII码值(first_number)加1。然后根据first_number这个值判断当前的字母是否为A。如果为A,就将ASCII值减1。如果等于A,就将ASCII码值加1。

具体实现如下:

def letter_graph():
        list_input=list(map(int,input().split())) #接受用户输入的n,m
        for n in range(list_input[0]): #规定输出行数
            first_number=65 #将每行首字母对应的ASCII码设置为65,即A
            first_number+=n #当字母表的一行内容输出完成,则将下一行的首字母往后推移,即ASCII码加1
            index=0 #初始化下标
            first_number1=first_number #将每行首字母对应的ascii码值,保存到临时变量first_number中
            for m in range(0,list_input[1]): #规定输出列数
                if first_number1==65:
                  result=chr(first_number1+index) #如果ASCII码值为65,即A。将输出A以后得字母
                  index+=1
                  print(result,end="")
                  continue 
                if first_number1>65: #如果当前的字母是
                    print(chr(first_number1),end="")
                    first_number1-=1
            print()
letter_graph()

运行通过截图:

试题 基础练习 01字串

提交此题   评测记录  

资源限制

内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s

问题描述

对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:

00000

00001

00010

00011

00100

请按从小到大的顺序输出这32种01串。

输入格式

本试题没有输入。

输出格式

输出32行,按从小到大的顺序每行一个长度为5的01串。

样例输出

00000
00001
00010
00011
<以下部分省略>

题目分析:

        如果我们按照排列组合得到32个结果对于我来说,感觉有点困难。因为题目中描述的字母符串由五位01组成,我想到二进制相关知识,且升序输出。然后我就将最大的字符串11111写出来,发现对应的十进制数是31。所以我采用的思路是:通过一个for循环循环遍历生成0到31的十进制数,然后通过使用bin()函数将十进制数转换为二进制数。因为bin()函数返回的结果是一个字符串,且有二进制标志0b,所以我采用了字符串切片技术取出数值部分。然后结合实际情况,定义一个列表,列表元素是全部为0的字符串,用于将输出字符串中的数据补足为五位。

具体实现如下:

def fstr_01():
    list_01=[]
    list_zore=["0",'00','000','0000'] #定义一个列表用于补位
    for i in range(32):
         str_01=bin(i)[2:] #切片技术取出数据部分
         str_index=5-len(str_01) #计算出当前数据需要补0位数
         if str_index:
             str_01=list_zore[str_index-1]+str_01 #对数据进行补0操作
             print(str_01)
         else:
             print(str_01) #如果输出数据不用补0,则直接输出
fstr_01() #调用函数

运行通过截图:

试题 基础练习 闰年判断

提交此题   评测记录  

资源限制

内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s

问题描述

给定一个年份,判断这一年是不是闰年。

当以下情况之一满足时,这一年是闰年:

1. 年份是4的倍数而不是100的倍数;

2. 年份是400的倍数。

其他的年份都不是闰年。

输入格式

输入包含一个整数y,表示当前的年份。

输出格式

输出一行,如果给定的年份是闰年,则输出yes,否则输出no。

说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。

样例输入

2013

样例输出

no

样例输入

2016

样例输出

yes

数据规模与约定

1990 <= y <= 2050。

题目分析:

这个题目就是一个条件控制语句,需要知道在python中"%"表示求余运算即可。

具体实现如下

def leap_year():
    year=int(input())
    if (year%4==0 and year%100!=0) or year%400==0: #润年的条件判断
        print("yes" )
    else:
        print("no")
leap_year()
    

运行通过截图:

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

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

相关文章

汇编语言学习记录 01

目录 VScode配置调试环境 Debug的主要命令 简单写个Hello World VScode配置调试环境 没有IDE真的蛮难受的 安装插件TASM/MASM 右键扩展设置&#xff0c;选择Assembler&#xff1a;MASM 右键调试即可开始 Debug的主要命令 R-查看和修改寄存器 D-查看内存单元 E-修改内…

SAP系统如何使用中间数据库与其它系统进行数据交互

SAP系统与外部系统之间进行数据交换和通信的接口方式有很多种,比如常用的接口技术有RFC、BAPI、ALE、Webservice、RESTful、中间数据库等等,不同的接口形式具有不同的特点和适用场景,可以根据具体需求选择合适的接口形式来实现系统间的数据交互。 前面文章中已介绍Webservi…

2024年腾讯云4核8G服务器多少钱一年?买1年送3个月

2024年腾讯云4核8G服务器租用优惠价格&#xff1a;轻量应用服务器4核8G12M带宽646元15个月&#xff0c;CVM云服务器S5实例优惠价格1437.24元买一年送3个月&#xff0c;腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图&#xff1a; 腾讯云4核8G服务器优惠价格 轻…

SOC子模块--Timer

作用 Timer 是片内集成的通用定时器&#xff0c;能够向系统提供定时中断&#xff0c;也可以通过外部时钟进行定时计数&#xff1b; 工作模式 重启计数模式&#xff1a; 当通道使能后计数器锁存加载计数寄存器的值&#xff0c;然后在系统时钟的驱动下递减计数。当计数到零时…

信息系统项目管理师——第9章项目范围管理(重要)

本章属于10大管理知识领域&#xff0c;选择、案例、论文都会考。选择题考大概3分&#xff0c;案例题考的比较多&#xff0c;需要重点记录&#xff0c;论文也考的比较多&#xff0c;建议作为第二梯队准备。 1.管理基础 1.1 产品范围和项目范围 产品范围:指某项产品、服务或成…

Yarn资源调度器

目录 写在前面一、yarn资源调度器1.1 Yarn基础架构1.2 Yarn工作机制1.3 作业提交全过程1.3.1 作业提交1.3.2 作业初始化1.3.3 任务分配1.3.4 任务运行1.3.5 进度和状态更新1.3.6 作业完成 1.4 Yarn调度器和调度算法1.4.1 先进先出调度器&#xff08;FIFO&#xff09;1.4.2 容量…

如何使用VS统计自己的代码量?

历经漫漫编程之路&#xff0c;此刻我们不妨回首细数&#xff0c;那已累积的无数行代码&#xff0c;它们如同一串串无声的脚印&#xff0c;记载着我们默默耕耘的点滴时光。每一行代码都是平凡努力的印记&#xff0c;见证了我们的执着与付出&#xff0c;也塑造了今天的我们。让这…

Pandas数据清洗

数据清洗是对一些没有用的数据进行处理的过程。很多数据集存在数据缺失、数据格式错误、数据错误或数据重复的情况&#xff0c;如果要使数据分析更加准确&#xff0c;就需要对这些没有用的数据进行处理。 这里使用的测试数据是clean-data.csv&#xff0c;如图3-10所示。这个表…

【二叉树】Leetcode 108. 将有序数组转换为二叉搜索树【简单】

将有序数组转换为二叉搜索树 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡二叉搜索树。 示例1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null…

npm淘宝镜像源更新

目录 前情提要&#xff1a; 背景&#xff1a; 镜像源更新&#xff1a; 清楚缓存&#xff1a; 直接切换镜像源&#xff1a; 补充&#xff1a; 错误解释&#xff1a; 解决方法&#xff1a; 前情提要&#xff1a; 2024 /1 /22 &#xff0c;registry.npm.taobao.org淘宝镜像源的SSL…

基于java实现的高校二手交易平台

开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclip…

【uniapp】uniapp实现免密登录

文章目录 一、概要二、整体架构流程三、技术名词解释四 、技术细节1.存取token有效期&#xff1f;2.使用setStorageSync而不使用setStorage&#xff1f;3.使用onLaunch而不使用全局路由&#xff1f; 一、概要 打开一个网页或小程序的时候&#xff0c;我们有时候会自动进入主页…

【JAVA】多态

去完成某个行为&#xff0c;当不同的对象去完成时会产生出不同 的状 态。 比如吃东西 猫吃的是猫粮&#xff0c;狗吃的是狗粮 多态实现条件 1. 必须在继承体系下 2. 子类必须要对父类中方法进行重写 3. 通过父类的引用调用重写的方法 多态体现&#xff1a;在代码运行时…

【Spring Boot 源码学习】共享 MetadataReaderFactory 上下文初始化器

《Spring Boot 源码学习系列》 共享 MetadataReaderFactory 上下文初始化器 一、引言二、往期内容三、主要内容3.1 源码初识3.2 CachingMetadataReaderFactoryPostProcessor3.2.1 register 方法3.2.1 configureConfigurationClassPostProcessor 方法 3.3 ConfigurationClassPos…

uniApp使用XR-Frame创建3D场景(4)金属度和粗糙度

上一篇讲解了如何在uniApp中创建xr-frame子组件并创建简单的3D场景。 这一篇我们讲解xr-frame中关于mesh网格材质的金属度和粗糙度的设置。 1.先看源码 <xr-scene render-system"alpha:true" bind:ready"handleReady"> <xr-node visible"{…

面试知识汇总——JVM内存模型

JVM内存模型 线程独占&#xff1a;栈和本地方法栈、程序计数器&#xff1b;线程共享的是堆和方法区 栈&#xff1a;又叫方法栈&#xff0c;线程私有&#xff0c;线程执行方法都会创建一个栈阵&#xff0c;用来储存局部变量表&#xff0c;调用方法执行入栈&#xff0c;方法返回…

AJAX(二):axios 和 fetch函数发送AJAX请求、同源策略、 jsonp、CORS

一、各种发送AJAX请求 jquery基于回调函数&#xff0c;axios基于promise 1.axios发送AJAX请求!!! axios (v1.5.0) - Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 Node.js 中。 | BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务 服务器&#xff1a; app.…

Linux 系统 docker搭建LNMP环境

1、安装nginx docker pull nginx (默认安装的是最新版本) 2、运行nginx docker run --name nginx -p 80:80 -d nginx:latest 备注&#xff1a;--name nginx 表示容器名为 nginx -d 表示后台运行 -p 80:80 表示把本地80端口绑定到Nginx服务端的 80端口 nginx:lates…

c++|STL简介+string类的使用(常用接口)

目录 一、STL简介 1.1STL的版本 1.2STL六大组件 1.3STL的重要性及缺陷 二、string类简介 2.1string类了解 2.2为什么学习string类 三、string类使用(常用接口) 3.1string类的成员函数 3.1.1构造函数 3.1.2析构函数 3.1.3“”运算符重载函数 3.2迭代器(iterator)s…

免费使用Claude 3!这个平台集成了所有主流的AI聊天机器人!Poe AI 2024最新版教程

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…