首页 > 分享 > 用python写进制转换小程序

用python写进制转换小程序

最近信息课上有出进制转换的题目,上课就开始比心算

后来我就想能不能直接写一个程序来解决这个问题(虽然计算器上有这样的功能)

自己写的好处就是可以转换一些奇奇怪怪的进制而不局限于二进制八进制十六进制等

话不多说直接上代码

dict01 = {'a':'10','b':'11','c':'12','d':'13','e':'14','f':'15'}

dict02 = {'10':'a','11':'b','12':'c','13':'d','14':'e','15':'f'}

def turnto10(dig,num):

numout = 0

if dig!=10:

for i in range(len(num)):

if num[-1-i] in dict01:

numout += int(dict01[num[-1-i]])*(dig**(i))

else:

numout+=int(num[-1-i])*(dig**(i))

elif dig ==10:

numout=int(num)

return numout

def turnfrom10(num,dig):

numout = []

numstr = str(num)

if dig>10:

while num != 0:

if num % dig>9:

numout.append(dict02[str(num%dig)])

else:

numout.append(num%dig)

num//=dig

elif dig==10:

for i in range(len(numstr)):

numout.append(numstr[-1-i])

else:

while num != 0:

numout.append(num%dig)

num//=dig

return numout

res = 'y'

while res=='y':

digi = int(input("输入n进制 例如:2 暂时只支持2到16进制n你的输入进制:"))

innum = input("输入数字 例如:1101 或者12eff(10对a,11对b以此类推 暂时只支持到16进制n你的要求数字:")

digo = int(input("输入输出进制(支持2-16) 例如:8 n你的输出进制:"))

innum = turnto10(digi,innum)

list_out =turnfrom10(innum,digo)

print("答案:",end='')

for i in range(len(list_out)):

print(list_out[-1-i],end='')

print("n")

res = input('输入y继续,回车退出')

程序思路就是先把数字处理成十进制再处理成其他进制

相关知识

SKYNE/python
python 玫瑰花程序
频率与时间换算器
python内置函数可以返回列表、元组
python二级选择题与分析(8)
基于Python和PyTorch的小程序苹果病虫害识别教程
python基础一
花了1个月时间,把Python库全部整理出来了,覆盖所有,建议收藏
python毕设畜牧管理系统程序+论文
用python画花瓣

网址: 用python写进制转换小程序 https://m.huajiangbk.com/newsview566696.html

所属分类:花卉
上一篇: 杨桃的Python笔记3——pd
下一篇: glyph 21010 miss