Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialAriadna Rodriguez
6,281 PointsCreate a __str__ method for this book class. Return a string with the author and title of the book. Ex: John Green, Pape
I'm confused why it keeps asking me to input John Green and Papertowns
class Book:
def __init__(self, author, title):
self.author = author
self.title = title
def __str__(self):
return f'{self.author} {self.title}'
book_one = Book('John Green', 'PaperTowns')
print(str(book_one)
from book import Book
class BookCase:
def __init__(self):
self.books = []
def add_books(self, book):
self.books.append(book)
8 Answers
jlgreenlaw
10,093 PointsTook me a while to figure this out. Hope this helps!
def __str__(self):
return f'{self.author}, {self.title}'
book_one = Book("John Green", "Paper Towns")
Brandon Thompson
3,018 PointsIt says I should return the string, not print it. But I noticed that you didn't correct that on this example. Kinda confusing when you used print in your example, and we are being asked to do it differently.
class Book:
def __init__(self, author, title):
self.author = author
self.title = title
def __str__(self):
return f'{self.author}, {self.title}'
book_one= Book('John Green', 'PaperTowns')
print(str(book_one))
Megan Amendola
Treehouse TeacherYou're missing the comma :)
return f'{self.author}, {self.title}'
Gandhi Mora
3,217 Pointsthanks
Nischal Shrestha
2,027 Pointsclass Book: def init(self, author, title): self.author = author self.title = title
def __str__(self):
return "{}, {}".format(self.author,self.title)
Oscar Gomez
6,797 Pointsdon't: print (str(book_one)) only state: str(book_one)
Once I cleared this error and added the comma as above it worked!! Also the error message said not to print.
Megan L
2,905 PointsWORKING SOLUTION
class Book:
def __init__(self, author, title):
self.author = author
self.title = title
def __str__(self):
return f'{self.author}, {self.title}'
Daniel Akalu
5,018 Pointsclass Book: def init(self, author, title): self.author = author self.title = title def str(self): author = 'John Green' title = 'Paper Towns' return f'{self.author}, {self.ti
ayawovi Badohoun
10,334 Pointsclass Book:
def init(self, author, title):
self.author = author
self.title = title
def str(self):
return f'{self.author}, {self.title}'
book_one = Book('John Green', 'PaperTowns')
state: str(book_one)