Below we show an example of how you can build a function that interacts with users by asking their input. We will build the function which returns the Body Mass Index (BMI) by being able to take as input both metric and imperial system. Let’s do it. The bmi.py
file is the following:
def gather_info(): height = float(input("What is your height? (inches or meters) ")) weight = float(input("What is your weight? (pounds or kilograms) ")) system = input("Are your measurements in metric or imperial systems? ").lower().strip() return (height, weight, system) def calculate_bmi(weight, height, system='metric'): if system == 'metric': bmi = (weight / (height ** 2)) else: bmi = 703 * (weight / (height ** 2)) return bmi while True: height, weight, system = gather_info() if system.startswith('i'): bmi = calculate_bmi(weight, system='imperial', height=height) print(f"Your BMI is {bmi}") break elif system.startswith('m'): bmi = calculate_bmi(weight, height) print(f"Your BMI is {bmi}") break else: print("Error: Unknown measurement system. Please use imperial or metric.")
We will give as input:
- Height: 1.72m
- Weight: 64kg
- Measurement: metric
And we get BMI 21.63
References
[1] Linux Academy