#input
name = input("Enter your name:")
height = input ("Height:")
weight = input ("Weight:")
print("Weight:" + weight +"kg")
print("height:" + height +"m")
print("My name is " + name +"!")

#operations with decimal numbers
metres = float(height)
height_sqr =  pow(metres,2)

kg = float(weight)
BMI = float(kg)/height_sqr

#print BMI results
print("BMI:" +str(BMI) +"Kg/M2")
-4
Zen Chen 2 sierpień 2020, 16:00

1 odpowiedź

Najlepsza odpowiedź

Jeśli chcesz bardziej zoptymalizowaną metodę, jest to:

# getting input from the user and assigning it to the user

height = float(input("Enter height in meters: "))
weight = float(input("Enter weight in kg: "))

# the formula for calculating bmi

bmi = weight/(height**2) 
# ** is the power of operator i.e height*height in this case

print("Your BMI is: {0} and you are: ".format(bmi), end='')

#conditions
if ( bmi < 16):
   print("severely underweight")

elif ( bmi >= 16 and bmi < 18.5):
   print("underweight")

elif ( bmi >= 18.5 and bmi < 25):
   print("Healthy")

elif ( bmi >= 25 and bmi < 30):
   print("overweight")

elif ( bmi >=30):
   print("severely overweight") 

Tutaj nie musisz wziąć wejścia jako łańcucha, a następnie przekształcić go w float ani nie musisz używać funkcji do obliczenia zasilania. Pokazuje również zakres, w którym leży BMI.

Cóż, wydajność kodu będzie taka sama.

-1
vishwampandya 3 sierpień 2020, 07:57