Exercise 9:
Distributeur de billets en Python
Il y a un guichet automatique qui peut distribuer des billets de 100 dollars, des billets de 50 dollars et des billets de 20 dollars. Écrivez un programme en Python qui reçoit d'abord le nombre de billets disponibles. Ensuite, les clients retirent leurs montants souhaités en fonction des billets disponibles et chaque fois qu'un montant est retiré, le nombre de billets disponibles est équilibré. Si le montant ne correspond pas aux billets disponibles, le message d'erreur s'affiche pour le client. Si le guichet automatique est à court de billets, un message d'excuse s'affiche et le programme se termine.
print("ATM Dispenser")
print("pythonize.ir \t Programmer: Mohammad Rajabpur")
print("--------------------------------------------------------------------------------\n")
b100 = int(input("The number of hundred-dollar-bills = "))
b50 = int(input("The number of fifty-dollar-bills = "))
b20 = int(input("The number of twenty-dollar-bills = "))
while True:
print("--------------------------------------------------------------------------------\n")
print("Existing Bills:")
print(b100, "hundered-dollar-bill(s) +", b50, "fifty-dollar-bill(s) +", b20, "twenty-dollar-bill(s)")
s = int(input("Amount = "))
if b100 == 0 and b50 == 0 and b20 == 0:
print("Sorry: The ATM is out of cash.")
break
flag = 0
for i in range((b100*100)//100, -1, -1):
if flag == 1:
break
for j in range((b50*50)//50, -1, -1):
if flag == 1:
break
for k in range((b20*20)//20, -1, -1):
if i*100 + j*50 + k*20 == s:
print(i, "hundered-dollar-bill(s) +", j, "fifty-dollar-bill(s) +", k, "twenty-dollar-bill(s)")
flag = 1
b100 -= i
b50 -= j
b20 -= k
break
if flag == 0:
print("The amount doesn't match the existing bills.")
================= RESTART: C:\ATM Dispenser.py ================ ATM Dispenser pythonize.ir Programmer: Mohammad Rajabpur -------------------------------------------------------------------------------- The number of hundred-dollar-bills = 10 The number of fifty-dollar-bills = 10 The number of twenty-dollar-bills = 10 -------------------------------------------------------------------------------- Existing Bills: 10 hundered-dollar-bill(s) + 10 fifty-dollar-bill(s) + 10 twenty-dollar-bill(s) Amount = 280 2 hundered-dollar-bill(s) + 0 fifty-dollar-bill(s) + 4 twenty-dollar-bill(s) -------------------------------------------------------------------------------- Existing Bills: 8 hundered-dollar-bill(s) + 10 fifty-dollar-bill(s) + 6 twenty-dollar-bill(s) Amount = 800 8 hundered-dollar-bill(s) + 0 fifty-dollar-bill(s) + 0 twenty-dollar-bill(s) -------------------------------------------------------------------------------- Existing Bills: 0 hundered-dollar-bill(s) + 10 fifty-dollar-bill(s) + 6 twenty-dollar-bill(s) Amount = 280 0 hundered-dollar-bill(s) + 4 fifty-dollar-bill(s) + 4 twenty-dollar-bill(s) -------------------------------------------------------------------------------- Existing Bills: 0 hundered-dollar-bill(s) + 6 fifty-dollar-bill(s) + 2 twenty-dollar-bill(s) Amount = 300 0 hundered-dollar-bill(s) + 6 fifty-dollar-bill(s) + 0 twenty-dollar-bill(s) -------------------------------------------------------------------------------- Existing Bills: 0 hundered-dollar-bill(s) + 0 fifty-dollar-bill(s) + 2 twenty-dollar-bill(s) Amount = 30 The amount doesn't match the existing bills. -------------------------------------------------------------------------------- Existing Bills: 0 hundered-dollar-bill(s) + 0 fifty-dollar-bill(s) + 2 twenty-dollar-bill(s) Amount = 40 0 hundered-dollar-bill(s) + 0 fifty-dollar-bill(s) + 2 twenty-dollar-bill(s) -------------------------------------------------------------------------------- Existing Bills: 0 hundered-dollar-bill(s) + 0 fifty-dollar-bill(s) + 0 twenty-dollar-bill(s) Amount = 540 Sorry: The ATM is out of cash.