python栈实现十进制到任意进制的转换

定义一个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 Stack

def 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 binString
print(divideBy2(15,16))

猜你喜欢

转载自blog.51cto.com/13560219/2447882