Why is my change calculator only working sometimes for some numbers

Question:

It only works with certain numbers and I’m not sure why. for example the number 69 works but the number 42 doesn’t

#Variables
quarter = 25
dime = 10
nickel = 5
penny = 1
money = 0

#Ask user for input
money = int(input("How much change do you need to make?"))

#Get the floor of the money to find how many coins you need and get the remainder and use it as the new amount of money for the next type of coin 
change_quarter = money // quarter
change_quarter_remainder = money % quarter

change_dime = change_quarter_remainder // dime
change_dime_remainder = money % dime

change_nickel = change_dime_remainder // nickel
change_nickel_remainder = money % nickel

change_penny = change_nickel_remainder // penny
change_penny_remainder = money % penny

#Print to the user
print(change quarter, "quarter(s)", change dime, "dime(s)", change nickel, "nickel(s)", change penny, "pennie(s)")
Asked By: Pepinallo11

||

Answers:

Your variables with _remainder are redundant.

change_quarter = money // quarter
money = money % quarter

change_dime = money // dime
money = money % dime

change_nickel = money // nickel
money = money % nickel

change_penny = money

Your solution with fix to make it clearer.

change_quarter = money // quarter
change_quarter_remainder = money % quarter

change_dime = change_quarter_remainder // dime
change_dime_remainder = change_quarter_remainder % dime

change_nickel = change_dime_remainder // nickel
change_nickel_remainder = change_dime_remainder % nickel

change_penny = change_nickel_remainder // penny
change_penny_remainder = change_nickel_remainder % penny
Answered By: Karol Milewczyk
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.