Skip to main content

How to Check If a Number Is Greater Than Another in Python

In Python, comparing values is a fundamental operation used to control the flow of a program. Whether you are checking if a user is old enough to vote or if a temperature is above freezing, you need to use Comparison Operators. These operators evaluate two values and return a Boolean result: True or False.

This guide explains the standard comparison operators, focuses on the specific usage of the "Greater Than" operator (>), and demonstrates how Python handles comparisons between different numeric types like integers and floats.

Understanding Comparison Operators

Python provides a standard set of operators to compare values. Understanding the full list helps contextualize how the "greater than" check works.

  • ==: Equal to
  • !=: Not equal to
  • >: Greater than
  • <: Less than
  • >=: Greater than or equal to
  • <=: Less than or equal to

Here is how they behave in a basic script:

x = 5
y = 10

# ✅ Correct: Checking various relationships
print(f"Is x equal to y? {x == y}")
print(f"Is x NOT equal to y? {x != y}")
print(f"Is x less than y? {x < y}")

Output:

Is x equal to y? False
Is x NOT equal to y? True
Is x less than y? True

Using the Greater Than Operator (>)

The > operator checks if the value on the left is strictly larger than the value on the right.

Basic Numeric Comparison

age = 25
voting_age = 18

# ✅ Correct: Standard comparison
is_adult = age > voting_age

print(f"Age: {age}, Voting Age: {voting_age}")
print(f"Is allowed to vote? {is_adult}")

Output:

Age: 25, Voting Age: 18
Is allowed to vote? True

Handling Negative Numbers

The logic applies mathematically to negative numbers as well (closer to zero is greater).

x = -5
y = 0

# ✅ Correct: 0 is greater than -5
result = y > x
print(f"Is 0 > -5? {result}")

Output:

Is 0 > -5? True

Comparing Integers and Floats

Python is dynamic and flexible. You can compare different numeric types, such as Integers (int) and Floating-point numbers (float), without manually converting them. Python handles the internal logic to ensure the comparison is mathematically accurate.

integer_val = 5
float_val = 2.5

# ✅ Correct: Python compares the numeric value, ignoring the type difference
is_greater = integer_val > float_val

print(f"Is {integer_val} > {float_val}? {is_greater}")

# Comparing equality across types
# 10 is numerically equal to 10.0
val_a = 10
val_b = 10.0
print(f"Is {val_a} == {val_b}? {val_a == val_b}")

Output:

Is 5 > 2.5? True
Is 10 == 10.0? True
note

While 10 == 10.0 returns True, they are still different types. isinstance(10, int) is True, while isinstance(10.0, int) is False.

Common Error: Comparing Numbers with Strings

A frequent error occurs when trying to compare a number (like user input, which usually comes as a string) with a standard integer.

user_input = "25" # Input usually comes as a string
threshold = 10

try:
# ⛔️ Incorrect: Comparing string directly with integer
# This raises a TypeError in Python 3
if user_input > threshold:
print("Valid")
except TypeError as e:
print(f"Error: {e}")

# ✅ Correct: Cast the string to an integer first
if int(user_input) > threshold:
print("Comparison successful!")

Output:

Error: '>' not supported between instances of 'str' and 'int'
Comparison successful!
tip

Always ensure your variables are of the correct numeric type (int or float) before performing logical comparisons.

Conclusion

Checking if one number is greater than another is a staple of Python programming.

  1. Use > to check if the left operand is strictly larger than the right.
  2. Mix Types Safely: You can compare int and float directly.
  3. Watch Inputs: Ensure you convert input strings to numbers before comparing.