2021-06-29

def two_to_ten(s1):
length = len(s1)
s2 = s1[::-1]
num = 0
for i in range(length):
num += int(s2[i])*2**i
return num
class Stack(object):
def init(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[len(self.items)-1]
def size(self):
return len(self.items)
def ten_to_other(s1, base):
zhan = Stack()
num = ‘’
digits = “0123456789ABCDEF”
while s1 > 0:
zhan.push(s1 % base)
s1 = s1 // base
while not zhan.isEmpty():
num += digits[zhan.pop()]
return num
if name == ‘main’:
choose = input(‘二进制转换成十进制请输入2,十进制转换成其他进制请输入10:’)
if choose == ‘2’:
s1 = input(‘请输入二进制数:’)
print(two_to_ten(s1))
else:
s1 = int(input(‘请输入十进制数:’))
base = int(input(‘请输入待转换成的进制数:’))
print(ten_to_other(s1, base))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值