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

news2024/11/18 1:22:10

试题 基础练习 字母图形

提交此题   评测记录  

资源限制

内存限制: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()
    

运行通过截图:

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

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

相关文章

web开发发展历程-前端、后端、消息队列、后端架构演进

文章目录 摘要主要内容不同的时代对应不同的技术前端技术的中间阶段-单页面应用前后端分离后端技术演化-云计算平台总体趋势反应式编程 消息队列发展史kafka&#xff0c;rocketmq&#xff0c;pulsar网易后端架构演进架构瓶颈数据库瓶颈服务器瓶颈数据库缓存瓶颈-缓存击穿、雪崩…

Spring Boot:Web开发之三大组件的整合

Spring Boot 前言Spring Boot 整合 ServletSpring Boot 整合 FilterSpring Boot 整合 Listener 前言 在 Web 开发中&#xff0c;Servlet 、Filter 和 Listener 是 Java Web 应用中的三大组件。Servlet 是 Java 代码&#xff0c;通过 Java 的 API 动态的向客户端输出内容。Filt…

7.3*3卷积核生成

1.卷积核 在数字图像处理中的各种边沿检测、滤波、腐蚀膨胀等操作都离不开卷积核的生成。下面介绍如何生成各种3X3的卷积核。为后面的数字图像操作打下基础。   由于图像经过卷积操作后会减少两行两列&#xff0c;因此在生成卷积核的时候一般会对图像进行填充&#xff0c;填充…

day 36 贪心算法 part05● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

一遍过。首先把区间按左端点排序&#xff0c;然后右端点有两种情况。 假设是a区间&#xff0c;b区间。。。这样排列的顺序&#xff0c;那么 假设a[1]>b[0],如果a[1]>b[1]&#xff0c;就应该以b[1]为准&#xff0c;否则以a[1]为准。 class Solution { public:static bo…

一个基于.NET Core构建的简单、跨平台、模块化的商城系统

前言 今天大姚给大家分享一个基于.NET Core构建的简单、跨平台、模块化、完全开源免费&#xff08;MIT License&#xff09;的商城系统&#xff1a;Module Shop。 商城后台管理端功能 商品&#xff1a;分类、品牌、单位、选项&#xff08;销售属性&#xff09;、属性、属性模…

人脸68关键点与K210疲劳检测

目录 人脸68关键点检测 检测闭眼睁眼 双眼关键点检测 计算眼睛的闭合程度&#xff1a; 原理: 设置阈值进行判断 实时监测和更新 拓展&#xff1a;通过判断上下眼皮重合程度去判断是否闭眼 检测嘴巴是否闭合 提取嘴唇上下轮廓的关键点 计算嘴唇上下轮廓关键点之间的距…

LangChain入门:2.OpenAPI调用ChatGPT模型

快速入门 本篇文章正式进入LangChain的编码阶段&#xff0c;今天实现的功能是使用OpenAPI调用ChatGPT模型来进行文本问答。 1. 申请OpenAPI的访问令牌 这里介绍两种获取到OpenAPI访问令牌的方式&#xff0c;大家按照自己需求进行选择&#xff0c;之后的文章我会基于第二种选…

政安晨:【深度学习神经网络基础】(二)—— 神经元与层

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 神经元是深度学习神经网络中的基本单元&#xff0c;模拟了…

淘宝详情数据采集(商品上货,数据分析,属性详情,价格监控),海量数据值得get

淘宝详情数据采集涉及多个环节&#xff0c;包括商品上货、数据分析、属性详情以及价格监控等。在采集这些数据时&#xff0c;尤其是面对海量数据时&#xff0c;需要采取有效的方法和技术来确保数据的准确性和完整性。以下是一些关于淘宝详情数据采集的建议&#xff1a; 请求示…

DevSecOps平台架构系列-互联网企业私有化DevSecOps平台典型架构

目录 一、概述 二、私有化DevSecOps平台建设思路 2.1 采用GitOps公有云建设 2.2 采用GitOps私有云建设 2.3 总结 三、GitOps及其生态组件 3.1 采用GitOps的好处 3.1.1 周边生态系统齐全 3.1.2 便于自动化的实现 3.1.3 开发人员属性GitOps 3.2 GitOps部分生态组件介绍…

红黑树的Java实现

红黑树的Java实现 文章目录 红黑树的Java实现一、概述二、添加元素三、删除元素四、完整代码总结 一、概述 红黑树也是一种二叉平衡搜索树&#xff0c;向比与AVL树&#xff0c;是一种弱平衡树。因为AVL树是通过平衡因子&#xff0c;左右树的高度相差不能大于1来保证平衡&#…

实测梳理一下kafka分区分组的作用

清空topickafka-topics.sh --bootstrap-server localhost:9092 --delete --topic second创建分区kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 3 --topic second发kafka-console-producer.sh --bootstrap-server localhos…

ospf实验

基础配置 如上图所示&#xff0c;按照上图所示的配置&#xff0c;俩个路由器之间按照12.12.12.X/30网段配置&#xff0c;左端的路由器和交换机之间按照192.168.1.X网段配置&#xff0c;右端的路由器和交换机之间按照192.168.2.X网段配置&#xff0c;下面的两个pc机按照所对应的…

Java 学习和实践笔记(48):怎样用二维数组来存储表格数据?

怎样用数组的方式&#xff0c;来存储下面这个表格的数据&#xff1f; 示例代码如下&#xff1a; import java.util.Arrays;public class Test001 {public static void main(String[] args) {/*object类对象是类层次结构的根。每个类都有Object作为超类。所有对象&#xff0c;包…

使用llamafile 构建本地大模型运用

安装 https://github.com/Mozilla-Ocho/llamafile 下载 大模型文件&#xff0c;选择列表中任意一个 wget https://huggingface.co/jartine/llava-v1.5-7B-GGUF/resolve/main/llava-v1.5-7b-q4.llamafile?downloadtrue https://github.com/Mozilla-Ocho/llamafile?tabre…

软件部署资源计算工具:精确评估资源需求

软件部署资源计算工具&#xff1a;精确评估资源需求 在当今快速发展的信息技术时代&#xff0c;软件部署已成为企业运营不可或缺的一部分。然而&#xff0c;一个常见的挑战是如何精确评估软件部署所需的资源。资源评估不仅关系到软件的性能和稳定性&#xff0c;还直接影响到成…

区块链食品溯源案例实现(二)

引言 随着前端界面的完成&#xff0c;我们接下来需要编写后端代码来与区块链网络进行交互。后端将负责处理前端发送的请求&#xff0c;调用智能合约的方法获取食品溯源信息&#xff0c;并将结果返回给前端。 通过前后端的整合&#xff0c;我们可以构建一个食品溯源系统&#xf…

【第三方登录】Twitter

创建应用 APPID 和 相关回调配置 重新设置api key 和 api secret 设置回调和网址 还有 APP的类型 拿到ClientID 和 Client Secret 源码实现 获取Twitter 的登录地址 public function twitterUrl() {global $db,$request,$comId;require "inc/twitter_client/twitte…

2018年亚马逊云科技推出基于Arm的定制芯片实例

2018年&#xff0c;亚马逊云技术推出了基于Arm的定制芯片。 据相关数据显示&#xff0c;基于Arm的性价比比基于x86的同类实例高出40%。 这打破了对 x86 的依赖&#xff0c;开创了架构的新时代&#xff0c;现在能够支持多种配置的密集计算任务。 这些举措为亚马逊云技术的其他创…

《数据结构学习笔记---第三篇》---单链表具体实现

目录 1.链表 1.1 链表的概念及结构 2.不带头单链表的实现 2.1创建头文件“SList.h” 2.2 创建具体接口实现文件SList.c 2.2.1打印 2.2.2申请链表结点 2.2.3创建一个长度为n的链表 2.2.4尾插尾删 2.2.5头插头删 2.2.6寻找x元素&#xff0c;返回pos 2.2.7插入和删除pos…