def main():
denominations = [20, 10, 5, 1, .25, .10, .05, .01]
used_denom = []
amount_denom = []
user_input = float(input('enter a dollar amount: '))
#Keep asking user to re-enter input until they enter a value (0-200)
while user_input < 0 or user_input > 200:
user_input = float(input('re-enter a dollar amount: '))
#Traverse the list to breakdown the user_input into denominations.
remainder = user_input
for d in denominations:
num_denom = int(remainder / d)
if num_denom > 0:
used_denom.append(d)
amount_denom.append(num_denom)
#Avoid dividing by a float (prevents .01 issue from occurring)
remainder = (remainder*100) % (d * 100) / 100
#Traverse the amount_denom list and print the output to be formatted a certain way.
for i in range(len(amount_denom)):
print("{0: 2d}{1:8.2f}".format(amount_denom[i],used_denom[i]),end = "")
print("s" if amount_denom[i] > 1 else "")
main()
ZGVmIG1haW4oKToKCiAgICBkZW5vbWluYXRpb25zID0gWzIwLCAxMCwgNSwgMSwgLjI1LCAuMTAsIC4wNSwgLjAxXQogICAgdXNlZF9kZW5vbSA9IFtdCiAgICBhbW91bnRfZGVub20gPSBbXQoKICAgIHVzZXJfaW5wdXQgPSBmbG9hdChpbnB1dCgnZW50ZXIgYSBkb2xsYXIgYW1vdW50OiAnKSkKCiNLZWVwIGFza2luZyB1c2VyIHRvIHJlLWVudGVyIGlucHV0IHVudGlsIHRoZXkgZW50ZXIgYSB2YWx1ZSAoMC0yMDApCiAgICB3aGlsZSB1c2VyX2lucHV0IDwgMCBvciB1c2VyX2lucHV0ID4gMjAwOgogICAgICAgIHVzZXJfaW5wdXQgPSBmbG9hdChpbnB1dCgncmUtZW50ZXIgYSBkb2xsYXIgYW1vdW50OiAnKSkKCiNUcmF2ZXJzZSB0aGUgbGlzdCB0byBicmVha2Rvd24gdGhlIHVzZXJfaW5wdXQgaW50byBkZW5vbWluYXRpb25zLiAKICAgIHJlbWFpbmRlciA9IHVzZXJfaW5wdXQKICAgIGZvciBkIGluIGRlbm9taW5hdGlvbnM6CiAgICAgICAgbnVtX2Rlbm9tID0gaW50KHJlbWFpbmRlciAvIGQpCgogICAgICAgIGlmIG51bV9kZW5vbSA+IDA6CgogICAgICAgICAgICB1c2VkX2Rlbm9tLmFwcGVuZChkKQoKICAgICAgICAgICAgYW1vdW50X2Rlbm9tLmFwcGVuZChudW1fZGVub20pCgojQXZvaWQgZGl2aWRpbmcgYnkgYSBmbG9hdCAocHJldmVudHMgLjAxIGlzc3VlIGZyb20gb2NjdXJyaW5nKQogICAgICAgIHJlbWFpbmRlciA9IChyZW1haW5kZXIqMTAwKSAlIChkICogMTAwKSAvIDEwMAoKI1RyYXZlcnNlIHRoZSBhbW91bnRfZGVub20gbGlzdCBhbmQgcHJpbnQgdGhlIG91dHB1dCB0byBiZSBmb3JtYXR0ZWQgYSBjZXJ0YWluIHdheS4gCiAgICBmb3IgaSBpbiByYW5nZShsZW4oYW1vdW50X2Rlbm9tKSk6CiAgICAgICAgCiAgICAgICAgcHJpbnQoInswOiAyZH17MTo4LjJmfSIuZm9ybWF0KGFtb3VudF9kZW5vbVtpXSx1c2VkX2Rlbm9tW2ldKSxlbmQgPSAiIikKICAgICAgICBwcmludCgicyIgaWYgYW1vdW50X2Rlbm9tW2ldID4gMSBlbHNlICIiKQoKICAgICAgICAKbWFpbigpIA==