【掌控板】4、十进制转换

前言

由于没有找到合适的十进制int转换为10进制char,即输入(int)11,输出(char)‘11’。
于是写了一个建议的进制转换,10进制转换为2/8/10/16

代码

# MindPlus
# mpython
from mpython import *
import os
a=0
path="test\\b.txt"
xxx=open(path,"w")
num='0'

#print('10/3 = ',10/3)      3.333333
#print('9/3 = ',9/3)        3.0
#print('10//3 = ',10//3)    3
#print('10%3 = ',10%3)      1

def int2char (x):
  numbers = {
    0 : '0',
    1 : '1',
    2 : '2',
    3 : '3',
    4 : '4',
    5 : '5',
    6 : '6',
    7 : '7',
    8 : '8',
    9 : '9',
    10 : 'a',
    11 : 'b',
    12 : 'c',
    13 : 'd',
    14 : 'e',
    15 : 'f',
  }
  return numbers.get(x,None)

# 十进制int转十进制字符串
def int_2_dec( value , key_num):
    a=value%key_num
    result=''
    #print("value",value)
    if (a == 0) & (value == 0 ):
      result = '0'
      return result
    #print("result",result)
    #print("a!=0",a!=0)
    #print("value > 0",value > 0)
    while True  :
        if a == 0:
          if value <= 0:
            break
        #print("enter")
        #print("a",a)
        temp=int2char(a)
        #temp=hex(a).replace('0x','')
        result=temp+result
        #print("result",result)
        value=(value-a)//key_num
        #print("value",value)
        a=value%key_num
        #print("a",a)
    return result
  
#print("result",int_2_dec(10))

PS:hex()就是将输入数值以"0xAB"显示的,我这里直接借用了该函数,删除了0x,其实还可以自己写类似switch函数判定,这个a是1位int型,所以如果是10进制就是0-9的case。

运行结果
在这里插入图片描述

参考文章

python除法

Python switch/case语句实现方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值