蓝桥杯基础练习详细解析一(代码实现、解题思路、Python)

试题 基础练习 数列排序

资源限制

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

问题描述

给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200

输入格式

第一行为一个整数n。

第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。

输出格式

输出一行,按从小到大的顺序输出排序后的数列。

样例输入

5

8 3 6 4 9

样例输出

3 4 6 8 9

题目解析:这道题目是一个数字排序问题,因为在Python中列表有自动排序的函数sort(),并且需要使用列表保存用户输入的多个同类型数据。所以我们选择列表保存数据。然后对列表使用sort()函数即可实现排序。但是需要注意的是:排序完成后,输出最后一个列表元素,不能带有空格。

具体实现如下:

def paixu():
    length=map(int,input())
    list_arry=list(map(int,input().split()))
    list_arry.sort()
    for number in list_arry:
        if number!=max(list_arry):
            print(number,end=" ")
        else:
            print(number,end="")
paixu()

运行通过截图:

试题 基础练习 十六进制转八进制

提交此题 评测记录

资源限制

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

问题描述

给定n个十六进制正整数,输出它们对应的八进制数。

输入格式

输入的第一行为一个正整数n (1<=n<=10)。

接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

输出格式

输出n行,每行为输入对应的八进制正整数。

【注意

输入的十六进制数不会有前导0,比如012A。

输出的八进制数也不能有前导0。

样例输入

2

39

123ABC

样例输出

71

4435274

****【提示

先将十六进制数转换成某进制数,再由某进制数转换成八进制。

题目分析:

首先需要定义一个变量用于接受十六进制数的个数,然后利用for循环实现十六进制的录入。

解题过程中用到的函数有:int(str,n)------将输入的字符串数据str视为指定的进制数,然后转换为十进制数返回; oct(number)将十进制数据number转换为八进制。

具体实现如下:

def oct_number():
        n = int(input())
        results=[] #保存计算结果
        for i in range(n):
                number=int(input(),16) #将输入数据视为十六进制数,然后转换为十进制数
                result=oct(number)[2:] #因为返回结果是字符串,且有0o标志,所以需要切片
                results.append(result) #保存结果
        for result in results:
                print(result)
oct_number()

试题 基础练习 十六进制转十进制

提交此题 评测记录

资源限制

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

问题描述

从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。

注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

样例输入

FFFF

样例输出

65535

题目分析:

这个题目很简单,就是利用int(str,n)函数将指定的数据转换为10进制数即可。这里我将再次解释int()函数的作用:**int(str,n)函数有两个参数,第一个参数是一个字符串类型数据,表示程序员需要转换的数据,n是输入数据的对应的进制数类型。当这两个参数输入完成后,int()函数会返回一个十进制的整数。**大家只要理解int()函数的用法,则这个题目就很简单了。

具体实现如下:

def ten_number():
        hex_number=input() #接受用户输入
        ten_number=int(hex_number,16) #将用户输入的十六进制,转换为十进制数返回
        print(ten_number)
ten_number()

试题 基础练习 十进制转十六进制

提交此题 评测记录

资源限制

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

问题描述

十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。

给出一个非负整数,将它表示成十六进制的形式。

输入格式

输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647

输出格式

输出这个整数的16进制表示

样例输入

30

样例输出

1E

题目分析:

将输入的数据通过int()函数转换为十进制数,在利用hex()函数将得到的十进制数转换为十六进制数即可。注意事项:因为hex(number)函数中的参数number是一个int类型的数据,所以需要将输入数据使用int函数处理。此外hex()函数返回的结果是一个字符串,且有十六进制的标志'0x'所以需要切片,同时结合题目中的要求输出的字符是大写字母,所以要用到字符串内置函数upper()将返回的十六进制数中的小写字母全部转换为大写字母。

具体实现如下:

def hex_number():
        ten_number=int(input(),10)
        hex_number=hex(ten_number)[2:]
        print(hex_number.upper())
hex_number()

试题 基础练习 特殊回文数

提交此题 评测记录

资源限制

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

问题描述

123321是一个非常特殊的数,它从左边读和从右边读是一样的。

输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

输入格式

输入一行,包含一个正整数n。

输出格式

按从小到大的顺序输出满足条件的整数,每个整数占一行。

样例输入

52

样例输出

899998

989989

998899

数据规模和约定

1<=n<=54。

题目分析:这个题目经过几个条件判断即可。我的解题想法是将数字范围规定在10000~999999,然后通过map()函数将转为字符串的数字进行求和,将求和结果与输入数据比较,如果相等就判断该数字是否满足"回文数特点"。判断过程可以通过切片完成,如果满足回文数条件,就输出数据即可。

注意事项:进行切片的时候,切片的范围不包括最后指定的索引位置。如果需要将字符串的内容倒序切片,可以将切片的步长指定为"-1",这样就会先将切片内容倒序后,再进行切片,此时的开始索引从-1开始,切片范围不包括最后指定的索引位置。

具体实现如下:

def cycle_number():
        n=int(input())
        for number in range(10000,999999+1):
                str_number=str(number) #将输入数据转换为字符串,便于求和及切片
                result=sum(list(map(int,str_number))) #对字符串进行求和
                if result==n:
                        if len(str_number)==5:
                                if str_number[:2]==str_number[-1:-3:-1] :
                                        print(number)
                        if len(str_number)==6:
                                if str_number[:3]==str_number[-1:-4:-1]:
                                        print(number)
cycle_number()
相关推荐
魔道不误砍柴功1 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
测开小菜鸟3 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
萧鼎4 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
学地理的小胖砸4 小时前
【一些关于Python的信息和帮助】
开发语言·python
疯一样的码农4 小时前
Python 继承、多态、封装、抽象
开发语言·python
Python大数据分析@4 小时前
python操作CSV和excel,如何来做?
开发语言·python·excel
黑叶白树4 小时前
简单的签到程序 python笔记
笔记·python
Shy9604185 小时前
Bert完形填空
python·深度学习·bert
上海_彭彭5 小时前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element