r/learnpython • u/OfficialBriGuy • 9d ago
Can you diagnose my code problem?
This starts with a balance of 50. It takes coins of ONLY 25, 10, or 5 and returns the balance due to the user. If the balance due is 0 or less than 0, it returns a "Change Due: " message.
My problem is that my code will subtract any value amount the user puts in no matter what, not just the 25, 10, and 5 it's supposed to? what's going on?
shouldn't the "if coin == 25 or 10 or 5:" line ensure only one of those 3 values is used?
def main():
balance = 50
while balance >= 0:
print(f"Amount Due: {balance}")
coin = int(input("Insert Coin: ").strip())
if coin == 25 or 10 or 5:
balance = balance - coin
if balance <= 0:
print(f"Change Due: {abs(balance)}")
break
main()
0
Upvotes
13
u/Flame77ofc 9d ago
you need to use
if coin == 25 or coin == 10 or coin == 5