In: Computer Science
The school bookstore wants you to write a Python script to calculate the point of sale (total cost) of their new 25$ gift cards. They are also running a special, if a customer buys a gift card they can buy all books for 5$ dollars each. The gift card cost is $25.00 plus $5.00 per book. In addition, there is a sales tax which should be applied to the subtotal and it is 8% (multiply the subtotal by 0.08.) Requirements: Write a Python script (with meaningful comments) that has a main() function. Have that main() function call another function to display a welcome to the customer. In the main() function, ask the user how many gift cards they would like and how many books they have picked out. Function requirements are as follows: You must write a function to calculate the cost for the gift card(s), a function to calculate the cost of the books, and a function that takes the subtotal applies the 8% (multiply by 0.08) sales tax then returns the total to main(). Display the subtotal in main(). Round all dollar amounts to 2 decimal places (note: python will truncate unnecessary 0s without formatting so do not worry if output only has the tenths place). Only function definitions and the call to main() can be at 1st level indentation. For a challenge, see if you can make your main function contain less lines that the other functions.
Examples:
Welcome to the bookstore!
Gift cards are $25.00 each
Each book costs $5.
How many gift cards do you want? 1
How many books do you have? 2
Your subtotal is $35
Your total is $37.8
and
Welcome to the bookstore!
Gift cards are $25.00 each
Each book costs $5.
How many gift cards do you want? 2
How many books do you have? 4
Your subtotal is $70
Your total is $75.6
# function to print welcome message to the customer
def welcomeMessage():
print("Welcome to the bookstore!")
print("Gift cards are $25.00 each")
print("Each book costs $5.")
# function to return cost of gift cards
def costOfGiftCards(coupons):
return 25*coupons
# function to return cost of books
def costOfBooks(books):
return 5*books
# function to return total cost after adding 8% sales tax
# total = subtotal + 0.08 * subtotal = subtotal * 1.08
def saleTax(subtotal):
return subtotal*1.08
def main():
welcomeMessage() # function call to welcome customer
coupons = int(input("How many gift cards do you want? ")) # user input
books = int(input("\nHow many books do you have? ")) # user input
subtotal = costOfGiftCards(coupons) + costOfBooks(books)
total = saleTax(subtotal) # function call to calculate total
print("\nYour subtotal is ${0:.2f}".format(subtotal)) # to set precision to 2 decimal places
print("Your total is ${0:.2f}".format(total))
if __name__ == "__main__":
main()
Here is the complete running code as per the requirements.
P.S. Precision can be set to 2 decimal places!!