Recording chosen books
books_receipt.py
import sqlite3 db = sqlite3.connect('bookshop.db') result = db.cursor().execute("SELECT * FROM books").fetchall() db.close() my_books = [] menu = """Bookshop menu. 1: Choose book 2: View my books 3: Exit >> """ menu_choice = int(input(menu)) while menu_choice != 3: if menu_choice == 1: n = len(result) i = 0 while i < n: print(i, result[i][1]) #e.g.: 10 The Gruffalo i = i + 1 choice = int(input("Enter book num >> ")) my_books.append(result[choice]) if menu_choice == 2: print(my_books) menu_choice = int(input(menu))How this works:
- Run the code above and purchase some books.
- Explain in your own words how this line of code works: my_books.append(result[choice])
- When i chose to view the books I have chosen (currently choice number 2 in this program), make this program only show the titles of the books I have chosen. Hint: You will need another loop, and this:
n = len(my_books)
- When i exit the program, print out the my_books list in a presentable format, that shoes me all the titles, authors and prices, total price, total credit and credit remaining. It might look like this:
Where's Wally by Martin Hanford. Price: $20.8 The Gruffalo by Donaldson, Julia. Price: $21.95 Total price: $42.75 Total credit: $50 Credit remaining: $7.25
- Could the n = len(result) variable (that stores the number of tuples in the books dataset) be calculated at launch of this program (i.e. when i first run the SQL query)? Is there any need for this variable to be recalculated every time I choose choice number 1? Test and discuss.
Core Activities:
Extension Activities: