python:用栈实现十进制到二进制的转换

class Stack:
    def __init__(self):
        self.lst = [None for i in range(30)]
        self.top = -1

    def push(self, data):
        if self.top == len(self.lst) - 1:
            print("栈满了")
        else:
            self.top += 1
            self.lst[self.top] = data

    def pop(self):
        if self.top == -1:
            return None
        else:
            data = self.lst[self.top]
            self.top -= 1
            return data


s = Stack()
data = int(input("请输入要转换成二进制的数字: "))
while data != 0:
    ys = data % 2
    s.push(ys)
    data = data // 2

while s.top != -1:
    print(s.pop(), end='')

你可能感兴趣的:(python知识点)