From 90817d44ab178ff413272338d1f78ba0279f2272 Mon Sep 17 00:00:00 2001 From: Snimerjot Singh Date: Sun, 25 Oct 2020 12:26:30 +0530 Subject: [PATCH 1/3] Added bmi_converion.py --- conversions/bmi_conversion.py | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 conversions/bmi_conversion.py diff --git a/conversions/bmi_conversion.py b/conversions/bmi_conversion.py new file mode 100644 index 000000000000..31a0b5a4e4e9 --- /dev/null +++ b/conversions/bmi_conversion.py @@ -0,0 +1,37 @@ +"""Converts height and mass to Body Mass Index""" + + +def metric_units_bmi(kg: int, cm: int) -> int: + """ + Convert mass in kilograms and height in centimetres to Body Mass Index + >>> metric_units_bmi(50, 160) + 19.53 + >>> metric_units_bmi(80, 175) + 26.12 + """ + if cm == 0: + raise ValueError("Cm couldn't be 0") + + metre_square = (cm / 100) ** 2 + return round(kg / metre_square, 2) + + +def us_units_bmi(pounds: int, inches: int) -> int: + """ + Convert mass in pounds and height in inches to Body Mass Index + >>> us_units_bmi(200, 75) + 25.0 + >>> us_units_bmi(130, 65) + 21.63 + """ + if inches == 0: + raise ValueError("Inches couldn't be 0") + + inches_square = inches ** 2 + return round(703 * (pounds / inches_square), 2) + + +if __name__ == "__main__": + import doctest + + doctest.testmod() From 2235ed121519e5bde599f1beadf7dbf8b66c4e7e Mon Sep 17 00:00:00 2001 From: Snimerjot Singh Date: Sun, 25 Oct 2020 12:50:20 +0530 Subject: [PATCH 2/3] Updated bmi_conversion.py --- conversions/bmi_conversion.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/conversions/bmi_conversion.py b/conversions/bmi_conversion.py index 31a0b5a4e4e9..b955487c0302 100644 --- a/conversions/bmi_conversion.py +++ b/conversions/bmi_conversion.py @@ -8,9 +8,11 @@ def metric_units_bmi(kg: int, cm: int) -> int: 19.53 >>> metric_units_bmi(80, 175) 26.12 + >>> metric_units_bmi(20, 0) + "Cm couldn't be 0" """ if cm == 0: - raise ValueError("Cm couldn't be 0") + return "Height couldn't be 0" metre_square = (cm / 100) ** 2 return round(kg / metre_square, 2) @@ -23,9 +25,11 @@ def us_units_bmi(pounds: int, inches: int) -> int: 25.0 >>> us_units_bmi(130, 65) 21.63 + >>> us_units_bmi(40, 0) + "Inches couldn't be 0" """ if inches == 0: - raise ValueError("Inches couldn't be 0") + return "Height couldn't be 0" inches_square = inches ** 2 return round(703 * (pounds / inches_square), 2) From 4058ff4d9518b0158edf309df3f9dde02bf088bf Mon Sep 17 00:00:00 2001 From: Snimerjot Singh Date: Sun, 25 Oct 2020 13:02:12 +0530 Subject: [PATCH 3/3] Updated bmi_conversion.py --- conversions/bmi_conversion.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conversions/bmi_conversion.py b/conversions/bmi_conversion.py index b955487c0302..9588da3d6c5f 100644 --- a/conversions/bmi_conversion.py +++ b/conversions/bmi_conversion.py @@ -9,7 +9,7 @@ def metric_units_bmi(kg: int, cm: int) -> int: >>> metric_units_bmi(80, 175) 26.12 >>> metric_units_bmi(20, 0) - "Cm couldn't be 0" + "Height couldn't be 0" """ if cm == 0: return "Height couldn't be 0" @@ -26,7 +26,7 @@ def us_units_bmi(pounds: int, inches: int) -> int: >>> us_units_bmi(130, 65) 21.63 >>> us_units_bmi(40, 0) - "Inches couldn't be 0" + "Height couldn't be 0" """ if inches == 0: return "Height couldn't be 0"