def radix_any():
decimal_number = int(input("请输入10进制数"))
asciil = int(input("请输入想转换成的进制"))
if asciil <= 0: # 进制为负数时提醒
print("请输入正确进制数")
elif decimal_number > asciil:
k = ""
while decimal_number >= asciil: # 目标数大于进制数时可以进行运算
quotient = int(decimal_number // asciil) # 取整数商
remainder = (decimal_number - quotient * asciil) # 取余
decimal_number = quotient # 将上一步整数商赋值给dacimal_number进行求商取余
k = k + str(remainder)
if decimal_number < asciil:
result = (k + str(decimal_number))
print(result[::-1]) # 翻转字符串得到结果
elif asciil > decimal_number > 0: # 目标数小于进制数且大于0时,结果为其本身
print(decimal_number)
elif decimal_number < 0: # 目标数小于0时(为负数)
c = str(decimal_number).replace("-", "") # 将负号“-”减去
k = ""
decimal_number = int(c)
while decimal_number >= asciil: # 执行正整数进制转换程序
quotient = int(decimal_number // asciil) # 取整数商
remainder = (decimal_number - quotient * asciil) # 取余
decimal_number = quotient # 将上一步整数商赋值给a进行求商取余
k = k + str(remainder)
if decimal_number < asciil:
result = (k + str(decimal_number)) + "-" # 追加“-”号
print(result[::-1]) # 翻转字符串得到结果
更多推荐
【python实现进制转换器】10进制整数向任意进制转换
发布评论