first commit
This commit is contained in:
55
TD1-Makes_Change/Lab.ipynb
Normal file
55
TD1-Makes_Change/Lab.ipynb
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# amount to change\n",
|
||||
"amount = 12.35\n",
|
||||
"\n",
|
||||
"# available coins in the cash register (do not take into account the number of coins available)\n",
|
||||
"available_coins = [5,0.5,0.1,2,1,0.2,0.05,0.02,0.01]\n",
|
||||
"\n",
|
||||
"# Greedy : function to make change with unsorted coins\n",
|
||||
"def make_change_unsorted(amount, coins):\n",
|
||||
" i = 0\n",
|
||||
" change = []\n",
|
||||
" while amount > 0 and len(coins) > i:\n",
|
||||
" # print(str(round(amount//coins[i])) + \" Coins of \" + str(coins[i]) + \"€\")\n",
|
||||
" for j in range(round(amount//coins[i])):\n",
|
||||
" change.append(coins[i])\n",
|
||||
" amount = round(amount%coins[i],2)\n",
|
||||
" i = i+1\n",
|
||||
" \n",
|
||||
" return change\n",
|
||||
"\n",
|
||||
"# Greedy : function to make change with sorted coins\n",
|
||||
"def make_change_sorted(amount, coins):\n",
|
||||
" coins.sort(reverse=True)\n",
|
||||
" i = 0\n",
|
||||
" change = []\n",
|
||||
"\n",
|
||||
" while amount > 0 and len(coins) > i:\n",
|
||||
" # print(str(round(amount//coins[i])) + \" Coins of \" + str(coins[i]) + \"€\")\n",
|
||||
" for j in range(round(amount//coins[i])):\n",
|
||||
" change.append(coins[i])\n",
|
||||
" amount = round(amount%coins[i], 2)\n",
|
||||
" i = i+1\n",
|
||||
" if amount > 0:\n",
|
||||
" print(f\"Cannot make exact change for {amount:.2f}€\")\n",
|
||||
" return change\n",
|
||||
"\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"language_info": {
|
||||
"name": "python"
|
||||
},
|
||||
"orig_nbformat": 4
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
||||
Reference in New Issue
Block a user