10001000) #Create users: Tome_Rater.add_user("Alan Turing", "*****@*****.**") Tome_Rater.add_user("David Marr", "*****@*****.**") #Add a user with three books already read: Tome_Rater.add_user("Marvin Minsky", "*****@*****.**", user_books=[book1, novel1, nonfiction1]) #Add books to a user one by one, with ratings: Tome_Rater.add_book_to_user(book1, "*****@*****.**", 1) Tome_Rater.add_book_to_user(novel1, "*****@*****.**", 3) Tome_Rater.add_book_to_user(nonfiction1, "*****@*****.**", 3) Tome_Rater.add_book_to_user(nonfiction2, "*****@*****.**", 4) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 1) Tome_Rater.add_book_to_user(novel2, "*****@*****.**", 2) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 2) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 4) #Uncomment these to test your functions: Tome_Rater.print_catalog() Tome_Rater.print_users() print("Most positive user:"******"Highest rated book:") print(Tome_Rater.highest_rated_book()) print("Most read book:") print(Tome_Rater.most_read_book())
tr.add_book_to_user('*****@*****.**', book1, 1) #['None', 1] #(switched the order of arguments) tr.add_book_to_user('*****@*****.**', novel1, 3) #['None', 3] tr.add_book_to_user('*****@*****.**', nonfiction1, 3) #['None', 3] tr.add_book_to_user('*****@*****.**', nonfiction2, 4) #[4] tr.add_book_to_user('*****@*****.**', novel3, 1) #[1] #tr.add_book_to_user(book1, '*****@*****.**', 1) #tr.add_book_to_user(novel1, "*****@*****.**", 3) #tr.add_book_to_user(nonfiction1, "*****@*****.**", 3) #tr.add_book_to_user(nonfiction2, "*****@*****.**", 4) #tr.add_book_to_user(novel3, "*****@*****.**", 1) #Add BOOK (Marvin Minsky) tr.add_book_to_user('*****@*****.**', novel2, 2) #[2] #(switched the order of arguments) tr.add_book_to_user('*****@*****.**', novel3, 2) #[1, 2] #tr.add_book_to_user(novel2, "*****@*****.**", 2) #tr.add_book_to_user(novel3, "*****@*****.**", 2) #Add BOOK (David Marr) tr.add_book_to_user('*****@*****.**', novel3, 4) #[1, 2, 4] #(switched the order of arguments) #tr.add_book_to_user(novel3, "*****@*****.**", 4) #TEST (print analysis functions) tr.print_catalog() # tr.print_catalog() tr.print_users() # tr.print_users() tr.most_read_book() # print(tr.get_most_read_book()) #(inconsistent METHOD NAME (most_read_books)) tr.highest_rated_book() # print(tr.highest_rated_book()) tr.most_positive_user() # print(tr.most_positive_user())
nonfiction2 = Tome_Rater.create_non_fiction("Computing Machinery and Intelligence", "AI", "advanced", 11111938) novel2 = Tome_Rater.create_novel("The Diamond Age", "Neal Stephenson", 10101010) novel3 = Tome_Rater.create_novel("There Will Come Soft Rains", "Ray Bradbury", 10001000) #Create users: Tome_Rater.add_user("Alan Turing", "*****@*****.**") Tome_Rater.add_user("David Marr", "*****@*****.**") #Add a user with three books already read: Tome_Rater.add_user("Marvin Minsky", "*****@*****.**", user_books=[book1, novel1, nonfiction1]) #Add books to a user one by one, with ratings: Tome_Rater.add_book_to_user(book1, "*****@*****.**", 1) Tome_Rater.add_book_to_user(novel1, "*****@*****.**", 3) Tome_Rater.add_book_to_user(nonfiction1, "*****@*****.**", 3) Tome_Rater.add_book_to_user(nonfiction2, "*****@*****.**", 4) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 1) Tome_Rater.add_book_to_user(novel2, "*****@*****.**", 2) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 2) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 4) #Uncomment these to test your functions: Tome_Rater.print_catalog() Tome_Rater.print_users() print("Most positive user:"******"Highest rated book:",Tome_Rater.highest_rated_book(), '\n') print("Most read book:",Tome_Rater.get_most_read_book(), '\n')
Tome_Rater.add_book_to_user(nonfiction1, "*****@*****.**", 3) Tome_Rater.add_book_to_user(nonfiction2, "*****@*****.**", 4) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 1) Tome_Rater.add_book_to_user(novel2, "*****@*****.**", 2) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 2) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 4) #Uncomment these to test your functions: Tome_Rater.print_catalog() Tome_Rater.print_users() print("Most positive user:"******"Highest rated book:") hr_book = Tome_Rater.highest_rated_book() print("{book}, rating: {rating}".format(book=hr_book, rating=hr_book.get_average_rating())) print("Most read book:") print(Tome_Rater.most_read_book()) print("print Tome_Rater") print(Tome_Rater) print("Test comparison") Tome_Rater2 = Tome_Rater print("Should equal:") if Tome_Rater == Tome_Rater2: print("TomeRaters are equals") else: print("TomeRaters are not equal")
#Add a user with three books already read: Tome_Rater.add_user("Marvin Minsky", "*****@*****.**", user_books=[book1, novel1, nonfiction1]) ##Add books to a user one by one, with ratings: Tome_Rater.add_book_to_user(novel1, "*****@*****.**", 3) Tome_Rater.add_book_to_user(book1, "*****@*****.**", 1) Tome_Rater.add_book_to_user(nonfiction1, "*****@*****.**", 3) Tome_Rater.add_book_to_user(nonfiction2, "*****@*****.**", 4) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 1) # Tome_Rater.add_book_to_user(novel2, "*****@*****.**", 2) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 2) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 4) # # #Uncomment these to test your functions: Tome_Rater.print_catalog() Tome_Rater.print_users() # noveltest = Tome_Rater.create_novel("There Will Come Soft Rains", "Ray Bradbury", 10001000) print("Most positive user:"******"\t{}".format(Tome_Rater.most_positive_user())) print("Highest rated book:") print("\t{}".format(Tome_Rater.highest_rated_book())) print("Most read book:") print("\t{}".format(Tome_Rater.get_most_read_book()))
print("Testing print_users tomerater1: Beatriz Rodriguez, [email protected]") tomerater1.print_users() print("Testing most_read_book tomerater2: Watch My Hand by Nancy P. Magcian") tomerater2.add_user("Beatriz Rodriguez", "*****@*****.**") tomerater2.add_user("Xiomei Li", "*****@*****.**") tomerater2.add_book_to_user(fiction4, "*****@*****.**", 2.5) tomerater2.add_book_to_user(fiction4, "*****@*****.**", 3) tomerater2.add_book_to_user(tomeraternovel1, "*****@*****.**", 4) print(tomerater2.most_read_book()) print("Testing highest_rated_book tomerater3: Untruth by Jim Crowed") tomerater3.add_user("Beatriz Rodriguez", "*****@*****.**") tomerater3.add_user("Xiomei Li", "*****@*****.**") tomerater3.add_book_to_user(fiction3, "*****@*****.**", 4) tomerater3.add_book_to_user(fiction3, "*****@*****.**", 3) tomerater3.add_book_to_user(tomeraternovel1, "*****@*****.**", 3.7) print(tomerater3.highest_rated_book()) print("Testing most_positive_user tomerater3: Beatriz Rodriguez") print(tomerater3.most_positive_user()) print("Testing get_n_most_read_books tomerater3: That Book & Python for Dummies") tomerater3.add_book_to_user(tomeraterbook1, "*****@*****.**", 4) tomerater3.add_book_to_user(tomeraterbook1, "*****@*****.**", 2) print(tomerater3.get_n_most_read_books(2)) print("Testing get_n_most_prolific_readers tomerater3: Beatriz Rodriguez & Jenny Parque") tomerater3.add_user("Jenny Parque", "*****@*****.**") tomerater3.add_book_to_user(tomeraterbook1, "*****@*****.**", 3.8) tomerater3.add_book_to_user(tomeraterbook1, "*****@*****.**", 2) tomerater3.add_book_to_user(non_fiction1, "*****@*****.**", 1.5) tomerater3.add_book_to_user(tomeraternovel1, "*****@*****.**", 2.3) print(tomerater3.get_n_most_prolific_readers(2)) print("Testing get_n_most_expensive_books tomerater3: Untruth & Look Over There") print(tomerater3.get_n_most_expensive_books(2))
print('\n--------------------- TomeRater Catalog List ---------------------') rater.print_catalog() ############################################################################# print('\n----------------------- TomeRater User List ----------------------') rater.print_users() ############################################################################# print('\n------------------------- Most Read Book -------------------------') book = rater.get_most_read_book() print('{book} : read by {count}'.format(book=repr(book), count=rater.books[book])) ############################################################################# print('\n----------------------- Highest Rated Book -----------------------') book = rater.highest_rated_book() print('{book} : rating = {rate}'.format(book=book, rate=book.get_average_rating())) ############################################################################# print('\n----------------------- Most Positive User -----------------------') user = rater.most_positive_user() print('{user} : rating = {rate}'.format(user=user, rate=user.get_average_rating())) # ########################################################################### # ########## code below is used for a LIST of highest-rated books ########### # ########################################################################### # print('\n---------------------- Highest Rated Book(s) ---------------------') # highest = rater.highest_rated_book() # for book in highest:
Tome_Rater.add_book_to_user(nonfiction2, "*****@*****.**", 4) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 1) Tome_Rater.add_book_to_user(novel2, "*****@*****.**", 2) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 2) Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 4) #Uncomment these to test your functions: Tome_Rater.print_catalog() Tome_Rater.print_users() print("Most positive user:"******"Highest rated book:") print(Tome_Rater.highest_rated_book()) print("Most read book:") print(Tome_Rater.most_read_book()) """ angelo = User("Angelo", "*****@*****.**") kass = User("Kassandra", "*****@*****.**") print(angelo) print(kass) print(angelo.get_email()) print(kass.get_email()) angelo2 = User("Angelo", "*****@*****.**") print(angelo == angelo) print(angelo == angelo2)