Python 小甲鱼教程 课后练习39

这里是关于class类的一些练习,记录一下

没理解题目意思,所以按照小甲鱼的题目来敲了一遍,然后去理解






------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


下面一题,我竟然自己7788写出了大部分,虽然很基础的内容,但是还是挺高兴,关于类这一个环节,少许有点进步了!

不过和小甲鱼的代码比起来,还不够严谨,下面是对比



下面是小甲鱼的程序,红色部分就是比我严谨多了的地方,我为什么这样说呢?

因为他考虑到了栈是空的情况,这里我要给自己补一个基础知识!

因为栈是空的情况下,索引index是无用的!!!!

代码下面最后的截图,是我自己做的测试,代表了,当list为空的时候,无法用index索引!!!


class Stack:
    def __init__(self, start=[]):
        self.stack = []
        for x in start:
            self.push(x)

    def isEmpty(self):
        return not self.stack
   
    def push(self, obj):
        self.stack.append(obj)
 
    def pop(self):
        if not self.stack:
            print('警告:栈为空!')
        else:
            return self.stack.pop()
 
    def top(self):
        if not self.stack:
            print('警告:栈为空!')
        else:
            return self.stack[-1]
 
    def bottom(self):
        if not self.stack:
            print('警告:栈为空!')
        else:
            return self.stack[0]





下面的例子中,输入参数是一个列表,内容就一个元素,先打印一遍,再pop掉,再打印的时候,就出现了错误,因为list内容为空,他是无法索引的!!!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值