class Stack:
def __init__(self):#创建一个空栈
self.items = []
def isEmpty(self):#判断返回栈是否为空
return self.items == []
def push(self, item):#将一个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)
#详见10进制转换原理图片
#16进制数的输入与输出
# eighteen_numbers='0123456789ABCDEF'
# print(eighteen_numbers[10])
def transform(a):
b=Stack()
print('十进制数为',a)
print('想转换为哪个进制数')
c=input()
c=int(c)
eighteen_numbers = '0123456789ABCDEF'
while a>0:
b.push(a%c)
a=a//c#//取整数的除法
print('经过转换后的b',b.items)
string=''
while not b.isEmpty():#一遍一遍从栈底得到新的数
string=string+eighteen_numbers[b.pop()]
return string
print(transform(109))
进制转化(python)(10进制转化为16以下)
最新推荐文章于 2022-11-12 17:07:59 发布