0

I'm a beginner in Python. I'm curious why does the first if function still prints out even if the number is higher than 0 and why does the calculation still happen if wt=0?

wt=float(input("გთხოვთ შეიყვანოთ თქვენი წონა (კგ): "))
ht=float(input("გთხოვთ შეიყვანოთ თქვენი სიმაღლე (სმ): "))
if wt or ht <= 0:
    print("გთხოვთ შეიყვანოთ 0-ზე მაღალი ციფრი")

bmi = wt / (ht * ht)

if bmi < 16:
    print ("თქვენი BMI {:.2f}, რაც ნიშნავს იმას, რომ თქვენ მიეკუთვნებით კატეგორიას, რომლის დასახელებაა - წონის მწვავე დეფიციტი. გესაჭიროებათ მინიმუმ 17 კგ-ის მომატება.  გისურვებთ წარმატებებს!".format(bmi))
krzy
  • 13
  • 1
  • because anything other than 0.0 is truthy (your if statement is equivalent to `if wt:` currently) – Sayse Jan 19 '22 at 10:49

1 Answers1

0

You can use this code

wt=float(input("გთხოვთ შეიყვანოთ თქვენი წონა (კგ): "))
ht=float(input("გთხოვთ შეიყვანოთ თქვენი სიმაღლე (სმ): "))
if wt<=0 or ht <= 0:
    print("გთხოვთ შეიყვანოთ 0-ზე მაღალი ციფრი")
    exit()
bmi = wt / (ht * ht)
if bmi < 16:
    print ("თქვენი BMI {:.2f}, რაც ნიშნავს იმას, რომ თქვენ მიეკუთვნებით კატეგორიას, რომლის დასახელებაა - წონის მწვავე დეფიციტი. გესაჭიროებათ მინიმუმ 17 კგ-ის მომატება.  გისურვებთ წარმატებებს!".format(bmi))
codester_09
  • 5,622
  • 2
  • 5
  • 27