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.