Python|进制转换

简介: Python|进制转换

问题描述

输入M进制数的整数,将其转换为L进制后,统计其中的最大值和最小值并输出。

输入说明:第一行是整数NML, N表示这组数的个数, M表示输入数字的进制(可能是2, 8, 10) ,

将其转换为L进制(可能是2, 8, 10)


输出说明:转换后的L进制数中的最大值和最小值,中间用空格隔开。

输入样例: 6 10 8

15 9 10 3 6 7

输出样例: 17 3

解决方案

1 样式理解:

第一行第一个表示下一行有多少个数,第二个表示输入数的进制,第三个表示要转换的进制

2 输入值的处理:

用input输入的都是字符串 但这个字符串包含额三个值所以要用split把字符串切片split的用法可以看我的另外一篇博客

3 对应进制的处理:

因为不同的M,L对应的进制转化不同,所以我们定义一个函数来处理不同的ML情况下的进制转换,由十进制转其他进制或其他进制转十进制都有相关内置函数

其他进制可以先转为十进制再转其他进制

4 最大值处理:

把转化好的数放入一个列表中 用max函数输出最大值

5 输出处理:

因为进制内置函数转换后会有前缀 所以可以把他转成字符串输出前缀后面的数

Python代码:

N,M,L=input().split(' ')
list1=input().split(' ')
box=[]
def jinzhi(i):
    if M=='10':
        if L=='8':
            return oct(i)
        if L=='2':
            return bin(i)
    if M=='8':
        if L=='10':
            return int(i,8)
        if L=='2':
            return bin(i)
    if M=='2':
        if L=='10':
            return int(i,2)
        if L=='8':
            return oct(i)
for i in list1:
    i=int(i)
    box.append(i)
x,y=jinzhi(max(box)),jinzhi(min(box))
print(str(x)[2:],str(y)[2:])


目录
相关文章
|
2月前
|
Python
Python中的进制转换
Python中的进制转换
25 0
|
3月前
|
Python
Python中的进制转换
Python中的进制转换
18 0
|
7月前
|
Python
进制转换Python - 蓝易云
注意,这些函数返回的字符串表示的数值包含了表示数值类型的前缀('0b','0o',或'0x')。如果你想去掉这些前缀,可以使用字符串切片
62 0
|
Python
Python进制转换
Python进制转换
54 0
|
Python
【python】bin/dec/hex/bnr以及浮点数进制转换器GUI
【python】bin/dec/hex/bnr以及浮点数进制转换器GUI
105 0
|
Python
【python】bin/dec/hex/bnr进制转换函数及fp32转十六进制
【python】bin/dec/hex/bnr进制转换函数及fp32转十六进制
129 0
|
Python
Python|进制转换问题
Python|进制转换问题
73 0
|
数据挖掘 Python
python中进制转换任意玩儿
python中进制转换任意玩儿
111 0
|
前端开发 芯片 Python
【python】bin/dec/hex/bnr以及浮点数进制转换器GUI
【python】bin/dec/hex/bnr以及浮点数进制转换器GUI
134 0
【python】bin/dec/hex/bnr以及浮点数进制转换器GUI