diff --git a/module5_BMI_calculator.py b/module5_BMI_calculator.py deleted file mode 100644 index 5138113f2c5893e0be4126280c73c8a2f9dd1e54..0000000000000000000000000000000000000000 --- a/module5_BMI_calculator.py +++ /dev/null @@ -1,77 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt - - -def input_main_menu(): - print('') - print('What would you like to do?') - print('Type 1, 2, or 3 followed by enter:') - print('1. Compute and display BMI from weight and height.') - print('2. Compute and display a normal BMI range from height.') - print('3. Quit') - i = 0 - while i==0: - s = input('Choice: ') - try: - i = int(s) - except: - pass - if not i in [1,2,3]: - print('You typed ' + s) - print('You should type 1, 2 or 3 followed by enter.') - i = 0 - return(i) - - -def input_measure(measure_type, units, m_min, m_max): - print('') - m = 0 - while m==0: - s = input('Type ' + measure_type + ' followed by enter: ') - try: - m = float(s) - except: - pass - if m<m_min or m>m_max: - print('You typed ' + s) - print('Type a valid ' + measure_type + ' in ' + units +'.') - m = 0 - return(m) - - -def make_plot(height, weight=None): - h = np.linspace(1.3, 2.2) - plt.plot(h, 30*h**2,'r') - plt.plot(h, 25*h**2,'m') - plt.plot(h, 18.5*h**2,'g') - if weight is None: - wmin = 18.5*height**2 - wmax = 25*height**2 - plt.plot([height, height], [wmin, wmax],'k') - d = f'Normal range [{wmin:.2f} {wmax:.2f}]' - else: - plt.plot(height, weight, 'ko') - d = f'BMI {weight/(height**2):.2f}' - plt.legend(['Obese to overweight', 'Overweight to normal', - 'Normal to underweight', d]) - plt.xlabel('Height') - plt.ylabel('Weight') - plt.title('BMI plot') - plt.show() - - -# main program -print('*************************') -print('Welcome to BMI calculator') -choice = 0 -while choice<3: - choice = input_main_menu() - if choice==1: - h = input_measure('height', 'meters', 1, 2.5) - w = input_measure('weight', 'kilograms', 40, 300) - make_plot(h, w) - if choice==2: - h = input_measure('height', 'meters', 1, 2.5) - make_plot(h) -print('Bye!') - \ No newline at end of file