【发布时间】:2021-12-20 22:58:21
【问题描述】:
具有以下属性的书籍对象:标题、作者、年份
class Book():
def __init__(self, title = "", author = "", year = None):
self.title = title
self.author = author
self.year = year
def getTitle(self):
return self.title
def getAuthor(self):
return self.author
def getYear(self):
return self.year
def getBookDetails(self):
string = ("Title: {}, Author: {}, Year: {}"\
.format(self.title, self.author, self.year))
return string
名为BookCollection的链表:
class BookCollection():
def __init__(self):
self.head = None
def insertBook(self, book)
temp = BookCollectionNode(book)
temp.setNext(self.head)
self.head = temp
试图归还某个作者的所有书籍
def getBooksByAuthor(self, author):
b = Book()
if author == b.getAuthor():
return b.getBookDetails
名为BookCollectionNode的节点类:
class BookCollectionNode():
def __init__(self, data):
self.data = data
self.next = None
def getData(self):
return self.data
def getNext(self):
return self.next
def setData(self, newData):
self.data = newData
def setNext(self, newNext):
self.next = newNext
使用下面的函数来使用getBooksByAuthorMethod:
b0 = Book("Cujo", "King, Stephen", 1981)
b1 = Book("The Shining", "King, Stephen", 1977)
b2 = Book("Ready Player One", "Cline, Ernest", 2011)
b3 = Book("Rage", "King, Stephen", 1977)
bc = BookCollection()
bc.insertBook(b0)
bc.insertBook(b2)
bc.insertBook(b3)
print(bc.getBooksByAuthor("King, Stephen"))
尝试使用此方法获取所有斯蒂芬金斯的书籍。应返回 b0、b1 和 b3。
【问题讨论】:
标签: python linked-list getmethod