这是我的最后一招。我到处搜索,但它总是与其他功能或其他东西重写。我向你保证,没有其他功能可以使用这个 init 。我是初学者。
错误是我得到这个:SyntaxError:非默认参数遵循默认参数。它指向__init__([here]self, ...etcetc)
。
class book:
def __init__(self, bookId, nextBook=None, name, author, ageGroup):
self.bookId = bookId
self.nextBook = nextBook
self.name = str(name)
self.author = str(author)
self.ageGroup = str(ageGroup)
def getInfo(self):
return self.bookdId
def setInfo(self, bookId, bookName, authorName, ageGroup):
self.bookId = bookId
self.name = bookName
self.author = authorName
self.ageGroup = ageGroup
def getNextBook(self):
return self.nextBook
def setNextBook(self,val):
self.nextBook = val
class bookCollection:
def __init__(self,head = None):
self.head = head
self.size = 0
def getSize(self):
return self.size
def addBookToFront(self,bookId):
newBook = book(bookId,self.head)
self.head = newBook
self.size+=1
return True
def listAllBooks(self):
curr = self.head
while curr:
print(curr.data)
print(curr.name)
curr = curr.getNextBook()
def deleteBook(self,value):
prev = None
curr = self.head
while curr:
if curr.getInfo() == value:
if prev:
prev.setNextBook(curr.getNextBook())
else:
self.head = curr.getNextBook()
return True
prev = curr
curr = curr.getNextBook()
return False
def addBookAtPosition(self, newBookId, position):
counter = 1
if position == 0:
newBookId.setNextBook(self.head)
self.head = newBookId
else:
book = self.head
while book.getNextBook() is not None:
if counter == position:
newBookId.setNextBook(book.getNextBook())
book.setNextBook(newBookId)
book = book.getNextBook()
counter = counter + 1
def removeBookAtPosition(self, removedBookId, position):
counter = 1
if position == 0:
self.head = removedBookId.getNextBook()
else:
book = self.head
while book.getNextBook() is not None:
if counter == position - 1:
book.setNextBook(removedBookId.getNextBook())
book = book.getNextBook()
counter = counter + 1
#for reference: bookId, bookName, authorName, ageGroup
Boy = book(1, Boy, Roald-Dahl, Teens)
答案 0 :(得分:0)
它抱怨这条线:
!unturned pvp listplayers
参数nextBook有一个默认值,即None。 但是,争论名称,作者和年龄组没有默认值。 这是解释器所禁止的,或者更准确地说,是解释器的解析器部分。
要么为nextBook提供默认值,要么为name,author和ageGroup提供默认值。如果只想为nextBook设置默认值,请将其设为最后一个参数,因此在name,author和ageGroup之后。