栈的应用(进制转换)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
class Stack: def __init__(self): self.items=[] def isEmpty(self): return self.items==[] def push(self,item): #添加元素进站 self.items.append(item) def peek(self): #打印栈顶元素 return self.items[len(self.items)-1] def pop(self): #从栈顶取出元素 return self.items.pop() def size(self): #返回栈中元素的个数 return len(self.items) #使用Python自带库 def divideByBase(decNumber,base): #进制转换,base代表进制 remstack=Stack() digits="0123456789ABCDEF" #十六进制数 while decNumber>0: rem=decNumber%base #取余 remstack.push(rem) decNumber=decNumber//base #做除法取商,再次取余 binString="" while not remstack.isEmpty(): binString=binString+digits[remstack.pop()] return binString print(divideByBase(1783,16))