Skip to content

How to Check If a Number Is Positive in Python

Learn how to determine if a number is positive in Python using simple conditional checks with > 0, including handling integers, floats, and edge cases like zero.

Determining whether a number is positive, negative, or zero is a fundamental operation in programming logic. Whether you are validating user input, calculating physical properties (like speed or mass), or managing financial data, checking the sign of a number is essential.

This guide explains how to check if a number is positive using Python's conditional statements and how to handle different numeric types like integers and floats.

Understanding Positive Numbers

In mathematics and computing, a positive number is any number strictly greater than zero (> 0).

  • Examples: 1, 5, 100, 0.5, 3.14.
  • Zero (0) is typically considered neither positive nor negative (neutral), though definitions can vary in specific contexts (e.g., "non-negative" includes zero).

Method 1: Basic Positive Check (Greater Than Zero)

To check if a number is positive, use the greater-than operator (>).

number = 10

if number > 0:
    print(f"{number} is a positive number")

Output:

10 is a positive number

If you change the number to -5 or 0, the code inside the if block will simply not execute.

Method 2: Handling Zero and Negative Numbers

In most real-world scenarios, you need to know exactly which category a number falls into: positive, negative, or zero. You can handle all three cases using an if-elif-else structure.

number = 0

if number > 0:
    print(f"{number} is a positive number")
elif number == 0:
    print(f"{number} is zero")
else:
    print(f"{number} is a negative number")

Output:

0 is zero

Test Cases:

  • If number = 5: Output is "5 is a positive number".
  • If number = -5: Output is "-5 is a negative number".
  • If number = 0: Output is "0 is zero".

Handling Different Numeric Types (Int vs Float)

Python handles comparison operators seamlessly across different numeric types. You do not need to convert integers to floats or vice versa to check their sign.

Checking Floating-Point Numbers

Decimals work exactly the same way.

num_float = 3.14

if num_float > 0:
    print(f"{num_float} is a positive number")

num_negative_float = -2.5

if num_negative_float < 0:
    print(f"{num_negative_float} is a negative number")

Output:

3.14 is a positive number
-2.5 is a negative number

Mixing Types

You can compare an integer variable against 0.0 (float zero) or a float variable against 0 (integer zero) without issues.

val_a = 10    # int
val_b = 0.0   # float

if val_a > val_b: 
    print("10 is greater than 0.0")

Output:

10 is greater than 0.0

Conclusion

To check if a number is positive in Python:

  1. Use if number > 0: for a standard positive check.
  2. Use elif number == 0: if you need to handle zero as a distinct case.
  3. Rely on Python's dynamic typing to handle both integers (10) and floats (3.14) with the same logic.
Navigation