Solve 5.19 LAB
This commit is contained in:
parent
ba5ac1f29a
commit
6bef49c6b2
|
@ -0,0 +1,46 @@
|
||||||
|
coins = [
|
||||||
|
['Dollars', 'Dollar'],
|
||||||
|
['Quarters', 'Quarter'],
|
||||||
|
['Dimes', 'Dime'],
|
||||||
|
['Nickels', 'Nickel'],
|
||||||
|
['Pennies', 'Penny']]
|
||||||
|
|
||||||
|
def coin_enumeration(change):
|
||||||
|
if len(change) != 0:
|
||||||
|
for coin in coins:
|
||||||
|
num_coins = change.count(coin)
|
||||||
|
if num_coins != 0:
|
||||||
|
if num_coins > 1:
|
||||||
|
print('{0} {1}'.format(num_coins, coin[0].lower()))
|
||||||
|
else:
|
||||||
|
print('{0} {1}'.format(num_coins, coin[1].lower()))
|
||||||
|
else:
|
||||||
|
print('no change')
|
||||||
|
|
||||||
|
def fit_coin(to_make, coin_val):
|
||||||
|
num_coin = to_make // coin_val
|
||||||
|
remainder = to_make - (num_coin * coin_val)
|
||||||
|
|
||||||
|
return num_coin, remainder
|
||||||
|
|
||||||
|
def exact_change(input_val):
|
||||||
|
nd, input_val = fit_coin(input_val, 100)
|
||||||
|
nq, input_val = fit_coin(input_val, 25)
|
||||||
|
ndime, input_val = fit_coin(input_val, 10)
|
||||||
|
nn, input_val = fit_coin(input_val, 5)
|
||||||
|
np, input_val = fit_coin(input_val, 1)
|
||||||
|
|
||||||
|
return nd, nq, ndime, nn, np
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
change = []
|
||||||
|
input_val = int(input())
|
||||||
|
num_dollars, num_quarters, num_dimes, num_nickels, num_pennies = exact_change(input_val)
|
||||||
|
|
||||||
|
change.extend([coins[0] for i in range(num_dollars)])
|
||||||
|
change.extend([coins[1] for i in range(num_quarters)])
|
||||||
|
change.extend([coins[2] for i in range(num_dimes)])
|
||||||
|
change.extend([coins[3] for i in range(num_nickels)])
|
||||||
|
change.extend([coins[4] for i in range(num_pennies)])
|
||||||
|
|
||||||
|
coin_enumeration(change)
|
Loading…
Reference in New Issue