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