栈的应用之二进制(python)

栈的定义

首先定义一个名为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))



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值