Я студент первого курса по программированию, и у меня возникают проблемы с попыткой заставить мой код правильно зацикливаться, и я хотел бы получить некоторые подсказки о том, как заставить его работать так, как нужно.Я запускаю программу, которая рассчитывает изменение с заранее установленным запасом 10 каждой монеты, цена и оплата будут введены пользователем, а изменение будет возвращено по количеству монет, оставшихся в запасе.Сейчас я испытываю трудности, пытаясь заставить программу вернуть «недостаточные средства» и «без изменений» печатные заявления, и пытаюсь заставить ее зацикливаться от кварталов к центам на никель и копейки, я не уверен, что яможет быть не так.
quarters = 10
dimes = 10
nickels = 10
pennies = 10
stock = quarters, dimes, nickels, pennies
print("\nWelcome to change-making program.")
print("\nStock: {} quarters, {} dimes, {} nickels, and {} pennies".format(
quarters, dimes, nickels, pennies))
in_str = float(input("Enter the purchase price (xx.xx) or 'q' to quit: "))
payment_int = int(input("Input dollars paid (int):"))
change_sum = float(payment_int) - in_str
#in_str = float(input("Enter the purchase price (xx.xx) or 'q' to quit: "))
while change_sum >= 0:
if payment_int < in_str:
print("Insufficient funds")
break
elif payment_int == in_str:
print("No Change")
break
else:
if quarters > 0 and change_sum >= 0.25:
change_sum = change_sum - 0.25
quarters -= 1
print(quarters, change_sum)
elif dimes > 0 and 0.25 > change_sum >= 0.10:
change_sum = change_sum - 0.1
dimes -= 1
print(dimes, change_sum)
elif nickels > 0 and 0.1 > change_sum >= 0.05:
change_sum = change_sum - 0.05
nickels -= 1
print(nickels, change_sum)
elif pennies > 0 and 0.05 > change_sum >= 0.01:
change_sum = change_sum -0.01
pennies -=1
print(pennies, change_sum)
else:
if change_sum == 0.0:
break
print("\nStock: {} quarters, {} dimes, {} nickels, and {} pennies".format(
quarters, dimes, nickels, pennies))
print(change_sum)