bravsheng 发表于 2021-8-4 14:21:30

求解惑:第039讲 课后作业中定义栈类stack那题

萌新求教:
class Stack:
    def __init__(self, start=[]):
      self.stack = []       #直接赋值可以吗? self.stack = start
      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]   # 改成print可以吗? 有什么区别?

    def bottom(self):
      if not self.stack:
            print('警告:栈为空!')
      else:
            return self.stack

bravsheng 发表于 2021-8-4 14:22:59

顺便帮忙看下我这样写可以嘛?有存在什么问题吗?

class Stack:
    def __init__(self,list1):
      self.list1 = list1
      print(self.list1)
      
    def isEmpty(self):
      if len(self.list1) != 0:
            return True
      else:
            return False
      
    def push(self,x):
      self.list1.append(x)
      return self.list1
      
    def pop(self):
      self.list1.pop()
      print(self.list1)
      
    def top(self):
      print(self.list1)
      
    def bottom(self):
      print(self.list1[-1])
      

大马强 发表于 2021-8-4 15:15:24

没啥问题,就是你下面可以再完善点,加入一些提示信息会好点

bravsheng 发表于 2021-8-4 15:56:13

大马强 发表于 2021-8-4 15:15
没啥问题,就是你下面可以再完善点,加入一些提示信息会好点

噢,好的,谢谢!
页: [1]
查看完整版本: 求解惑:第039讲 课后作业中定义栈类stack那题