Проверка знака числа: положительное, отрицательное или ноль

Простая, но важная задача: определить, положительное ли число ввёл пользователь, отрицательное, или это ноль. Разберём два способа решения — через if...elif...else и через вложенные if.

Что нужно знать

Перед изучением примера полезно понимать:

Способ 1. Через if…elif…else

num = float(input("Enter a number: "))
if num > 0:
   print("Positive number")
elif num == 0:
   print("Zero")
else:
   print("Negative number")

Здесь используется конструкция if...elif...else. Те же действия можно реализовать и с помощью вложенных if.

Способ 2. Через вложенный if

num = float(input("Enter a number: "))
if num >= 0:
   if num == 0:
       print("Zero")
   else:
       print("Positive number")
else:
   print("Negative number")

Результат работы обеих программ одинаковый.

Вывод 1

Enter a number: 2
Positive number

Вывод 2

Enter a number: 0
Zero

Как это работает

Число считается положительным, если оно больше нуля — это проверяет первое выражение if. Если условие ложно, число либо равно нулю, либо отрицательное — это проверяется в следующем условии.