栈的定义
首先定义一个名为Stack的栈的类
初始化一个属性items为空列表,然后定义函数,进行一个动作或者是返回一个值,自行理解,不喜勿喷
class Stack():
def __init__(self):#添加属性
self.items = []
def isEmpty(self):#定义方法,直接调用
return self.items == []
def push(self, item):#是一个方法,返回的是方法,不能赋值
self.items.insert(0, item)
def pop(self):
return self.items.pop(0)
def peek(self):
return self.items[0]
def size(self):
return len(self.items)
由于十进制转化二进制进行的操作是取对2的余数,然后所有的余数倒序
def divideBy2(decNumber):
remstack = stack.Stack()#余数的倒序为二进制
while decNumber > 0:
rem = decNumber % 2#求余数
remstack.push(rem)
decNumber = decNumber//2#更新除数
binString = ""
while not remstack.isEmpty():#出栈
binString = binString + str(remstack.pop())
return binString
print(divideBy2(42))