Calculate Change in Harry Potter Currency Using Python
Python Assignment Description
- 1 knut = 1 knut
- 1 sickle = 29 knuts
- 1 galleon = 493 knuts
Steps to Calculate Change:
Step 1) Display the following to the user: Please select an item from the vending machine:
a) Assortment of Candy for 11 sickles and 7 knuts
b) Butterbeer for 2 sickles
c) Quill for 6 sickles
d) Daily Prophet for 5 knuts
Step 2) Get input form the user using the following prompt: Choice:
Step 3) Have the user enter in the number of galleon, sickles and knuts. When testing, the CTA will only enter in an integer value. Please pay by entering the number of each coin
Number of galleons: 1
Number of sickles: 0
Number of knuts: 0
Step 4) Calculate the cost of the item in knuts and put that into a variable. Calculate the payment in knuts and put that into a variable. Print out the cost and the payment. Here is an example:
Cost in knuts: 326
Payment in knuts: 493
Step 5) If the payment is less than the cost, then print a message to the user saying that the user will not receive their item. Here is an example:
You did not enter enough money and will not receive the Quill
Step 6) If the payment is enough, then calculate the change in knuts. Print the item and the change in knuts. Using the division and modulo operators, calculate the change that will be dispensed in galleons, sickles, and knuts. Print the number of each coin for the change.
Example of output:
You purchased the Assortment of Candy
Your change is 167 knuts
You will be given Galleons: 0 Sickles: 5 Knuts: 22
Step 7) Your code must handle the user entering upper case and lower case letters.
Step 8) Your code must handle the user entering an invalid menu choice.
To complete this program in Python, you will need to use input statements to get the user's choice and payment information. Then, you will need to use mathematical operations to calculate the cost of the item in knuts and the payment in knuts. Next, you will need to use conditional statements to determine if the payment is enough for the selected item. If it is not, you will need to print a message to the user saying they will not receive their item. If the payment is enough, you will need to calculate the change in knuts using division and modulo operators. To dispense the change in the largest possible coins, you will need to use more conditional statements to determine the number of galleons, sickles, and knuts to be returned. Lastly, you will need to handle uppercase and lowercase input from the user, as well as any invalid menu choices. If the user enters an invalid choice, you can just choose an option for them and let them know. Overall, this program will require a lot of mathematical operations and conditional statements in order to correctly calculate the amount of change to be returned in Harry Potter currency.How can you handle the user entering an invalid menu choice in the Python program for calculating change in Harry Potter currency?
In the Python program, you can handle the user entering an invalid menu choice by implementing a conditional statement to check if the user's choice is within the valid options. If the user enters something other than the choices on the menu, you can inform them that they have entered an invalid option and select a default item for them. This way, you can ensure that the program can handle unexpected inputs and provide a fallback option to proceed with the calculation of change.