栈-将十进制转换成任意进制数
'''
栈的基础操作类
'''
class Stack:
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]
# 返回栈中元素的shumu
def size(self):
return len(self.items)
'''
将十进制转换为任意进制
'''
def baseConverter(decNumber,base):
digits = '0123456789ABCDEF'
remstack = Stack()
while decNumber > 0:
rem = decNumber % base
remstack.push(rem)
decNumber = decNumber//base
newString = ''
while not remstack.isEmpty():
newString = newString + digits[remstack.pop()]
return newString
if __name__ == '__main__':
print(baseConverter(30,2))