定义一个Python栈:stack.py

class Stack: def __init__(self): self.items = [] def is_Empty(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(items)-1] def size(self): return len(self.items)

进制转换:

from stack import Stackdef divideBy2(decNumber, base): remstack = Stack() digits = "0123456789ABCDEF" while decNumber > 0: rem = decNumber % base remstack.push(rem) decNumber //= base binString = "" while not remstack.is_Empty(): binString = binString + digits[remstack.pop()] return binStringprint(divideBy2(15,16))