Ich weiß nicht wirklich, was mit meinem Code falsch ist. Ich arbeite seit ein paar Tagen daran und habe mehrere Male in diesem Forum gepostet, aber ohne Erfolg. Dies wird der Ausgang i erhalten: Python-Wechselmaschine. Probleme mit der Berechnung der korrekten Werte
Die Ergebnisse für die Lager 8 q, 10 d sein sollten, 9 n, 8 p auch das letzte Lager in einer vorherigen Iteration benötigt den Start Lager für die nächste Iteration sein, und bald. Deshalb habe ich die while-Schleife. An diesem Punkt, wenn Sie meinen Code korrigieren und posten können, wäre es mir egal (wenn Sie wirklich wollen, auch wenn ich nicht erwarte, dass jemand das tut). Hinweise sind großartig! Ich denke ehrlich, dass das Problem syntaktisch oder in der while-Schleife ist. Jede Hilfe wäre von Vorteil! Ps.s. Ich habe Schleifen zu verwenden, die Funktionen sind nicht erlaubt
pennies = 10
nickels = 10
dimes = 10
quarters = 10
quarters_spent = 0
dimes_spent = 0
nickels_spent = 0
pennies_spent = 0
print("\nWelcome to change-making program.")
in_str = input("\nEnter the purchase price (xx.xx) or `q' to quit: ")
while in_str.lower() != 'q':
dollar_str, cents_str = in_str.split(".")
if in_str.lower() == 'q':
quit()
in_int = int(float(in_str) * 100)
if in_int < 0:
print("Error: purchase price must be non-negative.")
in_str = input("\nEnter the purchase price (xx.xx) or `q' to quit: ")
if in_int > 0:
payment = input("\nInput dollars paid: ")
payment_int = int(float(payment) * 100)
change = payment_int - in_int
#determines if there payment input
if payment_int < in_int:
print("Error: Insufficient payment.")
payment = input("\nInput dollars paid: ")
payment_int = int(float(payment) * 100)
change = payment_int - in_int
if change == 0:
print("No change.")
#determines how many quarters, dimes, nickels, and pennies are left
while change >= 25 and quarters > 0:
change = change - 25
quarters_spent += 1
quarters = quarters - quarters_spent
while change >= 10 and dimes > 0:
change = change - 10
dimes_spent += 1
dimes = dimes - dimes_spent
while change >= 5 and nickels > 0:
change = change - 5
nickels_spent += 1
nickels = nickels - nickels_spent
while change >= 1 and pennies > 0:
change = change - 1
pennies_spent += 1
pennies = pennies - pennies_spent
if quarters == 0 and dimes == 0 and nickels == 0 and pennies == 0:
print("Error: ran out of coins.")
quit()
print("\nCollect Payment Below:")
if quarters_spent > 0:
print(quarters_spent, "Quarters")
if dimes_spent > 0:
print(dimes_spent, "Dimes")
if nickels_spent > 0:
print(nickels_spent, "Nickels")
if pennies_spent > 0:
print(pennies_spent, "Pennies")
print("\nStock: ", quarters, "Quarters, ", dimes, " Dimes, ", nickels, " Nickels, ", pennies, " Pennies ")
in_str = input("\nEnter the purchase price (xx.xx) or `q' to quit: ")
pennies = pennies
nickels = nickels
dimes = dimes
quarters = quarters
Nicht wirklich sicher, warum die Downvotes. Nur nach Hinweisen fragen – Veyronvenom1200
Mögliche Gründe: Schlechter Titel, schwer lesbares Bild anstelle von reinem Text. – Barmar
Ill update dann – Veyronvenom1200