Odpowiedź:
reszta = []
sztuk = []
wydanaReszta = []
CzyDaSieWydac = True
x = 1
for i in range(5):
reszta.append(50000/x)
reszta.append(20000/x)
reszta.append(10000/x)
for i in range(3):
sztuk.append(5)
x*=10
r = float(input("Podaj resztę: "))
r*=100
i=0
while r>0:
if r >= reszta[i] and sztuk[i]>0:
r -= reszta[i]
sztuk[i] -= 1
wydanaReszta.append(reszta[i]/100)
else:
if i < len(reszta)-1:
i += 1
if sztuk[len(sztuk)-1] == 0 and r > 0:
CzyDaSieWydac = False
break;
if CzyDaSieWydac:
print('Wydana reszta to: ')
for i in range(len(wydanaReszta)):
print(wydanaReszta[i], end=", ")
else:
print("Nie można wydać reszty!")
Wyjaśnienie:
program wydaje resztę mając po 5 sztuk na każdy nominał od 500zł od 1 gorsza