没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
写在前面: 最近在学习数据分析方向的课程,开始系统地学习Python,越来越对“人生苦短,故我用python”这句话有感触了,Python在某些方面确实有其过其他语言之处。它简洁的语法也让我着迷(cpp & java:我不要面子的吗?) 此外,通过这一学期的学习,希望我可以把代码写的更加美观(回头看看自己大一写的代码,真的是又水又丑,再看看现在大一学弟们的代码,真是惭愧了!)。有空一定要把《代码整洁之道》拿来好好拜读一下。也希望有幸看到的读者能给我提提建议,大家一起学习,共同进步! 正文: 进制转换是非常简单以及基础的内容,非常适合用来做语言熟悉度训练。此外用Python做进制转换的优势有至少
资源详情
资源评论
资源推荐

Python实现任意进制间的转换实现任意进制间的转换 简单通俗易懂版本简单通俗易懂版本
写在前面:写在前面:
最近在学习数据分析方向的课程,开始系统地学习Python,越来越对“人生苦短,故我用python”这句话有感触了,Python在某
些方面确实有其过其他语言之处。它简洁的语法也让我着迷(cpp & java:我不要面子的吗?)
此外,通过这一学期的学习,希望我可以把代码写的更加美观(回头看看自己大一写的代码,真的是又水又丑,再看看现在大
一学弟们的代码,真是惭愧了!)。有空一定要把《代码整洁之道》拿来好好拜读一下。也希望有幸看到的读者能给我提提建
议,大家一起学习,共同进步!
正文:正文:
进制转换是非常简单以及基础的内容,非常适合用来做语言熟悉度训练。此外用Python做进制转换的优势有至少以下两点:
Python具有任意精度的整数,因此没有真正的固定最大值。你只受到可用内存的限制。 所以可以不限位数的进行转换进制,
而如果使用cpp则需要用数组模拟。
把其他进制转为10进制时很方便,可以用Python内置好的函数int()
代码:代码:
S = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
# 方便字符转换(超过十进制)
# m进制ton进制 (m进制到10进制,10进制到n进制)
"""
function declaration:
:mhex_to_dec(m, origin): m进制到10进制
:dec_to_nhex(n, origin): 10进制到n进制
:mhex_to_nhex(m, n, origin): m进制到n进制
"""
def mHex_to_dec(origin, m):
"""
:param m: Hex(进制, 类型int)
:param origin: the num to be converted(待转换的数, 类型为str)
:return: num in Dec(十进制数,类型为str)
"""
return str(int(origin, base=m))
def dec_to_nhex(origin, n):
"""
:param n: target Hex(目标进制,类型int)
:param origin: the num to be converted(待转换的数,类型为str)
:return: num in nHex(n进制数, 类型str)
"""
origin = int(origin)
List = [] while origin // n:
List.append(S[origin % n])
origin //= n
List.append(S[origin])
List.reverse()
List = [str(each) for each in List] # 把list里的每个int转为str,方便后面join
return ''.join(List)
def mhex_to_nhex(origin, m, n):
"""
:param m: origin Hex(原进制,类型int)
:param n: target Hex(目标进制,类型int)
:param origin: the num to be converted(待转换的数, 类型str)
:return: num in nHex(n进制数,类型str)
"""
dec_num = mHex_to_dec(origin, m) # type(dec_num) = int
return dec_to_nhex(dec_num, n) # return's type: str
if __name__ == '__main__':
mm, nn = map(int, input().split()) # 在同一行输入当前进制,目标进制
num_str = input() # 在第二行输入当前进制下的数












weixin_38514660
- 粉丝: 6
- 资源: 947
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制

评论0