gpt4 book ai didi

Python:NameError:未定义名称 'Stack'?

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:44 27 4
gpt4 key购买 nike

我正在尝试了解堆栈并在本网站上找到以下代码:http://interactivepython.org/runestone/static/pythonds/BasicDS/stacks.html

s = Stack()

s.push('a')
print(s.is_empty())
print(s.peek())
print(s.is_empty())
print(s.pop())
print(s.is_empty())

运行代码时出现错误 NameError: name 'Stack' is not defined。谁能帮忙?

最佳答案

根据另一个答案,

Stack is not built-in type in Python.

因此,它必须定义,因为交互式 python 教程中没有说明任何库。

我从交互式 python 教程中学习了 Stack() 类,你的代码应该是这样的

class Stack:
def __init__(self):
self.items = []

# I have changed method name isEmpty to is_empty
# because in your code you have used is_empty
def is_empty(self):
return self.items == []

def push(self, item):
self.items.append(item)

def pop(self):
return self.items.pop()

def peek(self):
return self.items[len(self.items)-1]

def size(self):
return len(self.items)

s = Stack()
s.push('a')
print(s.is_empty())
print(s.peek())
print(s.is_empty())
print(s.pop())
print(s.is_empty())

输出:

False
a
False
a
True

关于Python:NameError:未定义名称 'Stack'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30020882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com