From b5785d6e8f717c28ade55dd147cd5dad2c7e04ff Mon Sep 17 00:00:00 2001 From: Seunghun Yang Date: Sat, 12 Dec 2020 12:47:39 +0900 Subject: [PATCH] Added problem "6. Calculate unexchangeable value" (#19) * Added new problem "Calculate unexchangeable value" Added modular arithmetic problem Calculate unexchangeable value * Added new problem "Calculate unexchangeable value" (example.py, exchange.py) Modified example.py, exchange.py * Modified Calculated unexchangeable value Modified `unexchangeable_value()` function's expected return type to be `int` * added new lines at the end of file * applied prettier on instructions.md Co-authored-by: Limm-jk <201602057@cs-cnu.org> Co-authored-by: Junkyu Lim <57378834+Limm-jk@users.noreply.github.com> --- .../currency-exchange/.docs/instructions.md | 20 +++++++++++++++++++ .../currency-exchange/.meta/example.py | 8 ++++++++ .../concept/currency-exchange/exchange.py | 9 +++++++++ 3 files changed, 37 insertions(+) diff --git a/languages/python/exercises/concept/currency-exchange/.docs/instructions.md b/languages/python/exercises/concept/currency-exchange/.docs/instructions.md index 68182ef131..eca476a97c 100644 --- a/languages/python/exercises/concept/currency-exchange/.docs/instructions.md +++ b/languages/python/exercises/concept/currency-exchange/.docs/instructions.md @@ -77,3 +77,23 @@ This function should return the maximum value you can get considering the `budge >>> exchangeable_value(127.25, 1.20, 10, 5) 95 ``` + +## 6. Calculate unexchangeable value + +Create the `unexchangeable_value()` function, with parameter `budget`, `exchange_rate`, `spread`, & `denomination`. + +1. `budget` : amount of your money you are planning to exchange. +2. `exchange_rate` : unit value of the foreign currency. +3. `spread` : percentage taken as exchange fee. +4. `denomination` : the value of a single bill. + +This function should return the unexchangeable value considering the `budget`, `exchange_rate`, `spread`, & `denomination`. + +**Note:** Returned value should be `int` type. + +```python +>>> unexchangeable_value(127.25, 1.20, 10, 20) +16 +>>> unexchangeable_value(127.25, 1.20, 10, 5) +1 +``` diff --git a/languages/python/exercises/concept/currency-exchange/.meta/example.py b/languages/python/exercises/concept/currency-exchange/.meta/example.py index 43a06b22b0..d3385a6ec8 100644 --- a/languages/python/exercises/concept/currency-exchange/.meta/example.py +++ b/languages/python/exercises/concept/currency-exchange/.meta/example.py @@ -19,3 +19,11 @@ def exchangeable_value(budget, exchange_rate, spread, denomination): actual_rate = exchange_rate + exchange_fee exchangeable_amount = int((budget / actual_rate) / denomination) return exchangeable_amount * denomination + + +def unexchangeable_value(budget, exchange_rate, spread, denomination): + exchange_fee = (exchange_rate / 100) * spread + actual_rate = exchange_rate + exchange_fee + unexchangeable_amount = int((budget / actual_rate) % denomination) + return unexchangeable_amount + diff --git a/languages/python/exercises/concept/currency-exchange/exchange.py b/languages/python/exercises/concept/currency-exchange/exchange.py index 85d7731788..f6dee5a03e 100644 --- a/languages/python/exercises/concept/currency-exchange/exchange.py +++ b/languages/python/exercises/concept/currency-exchange/exchange.py @@ -1,14 +1,23 @@ def estimate_value(budget, exchange_rate): pass + def get_change(budget, exchanging_value): pass + def get_value(denomination_value, number_of_bills): pass + def get_number_of_bills(budget, denomination): pass + def exchangeable_value(budget, exchange_rate, spread, minimum_denomination): pass + + +def unexchangeable_value(budget, exchange_rate, spread, denomination): + pass +