How to Calculate the Area of the Circle using Python

Understanding the Formula

The mathematical formula to calculate the area of a circle is:

Area=πr2

where:

  • π(pi) is a mathematical constant with an approximate value of 3.14159.
  • rrr is the radius of the circle.

Now, let’s explore different ways to implement this in Python.

1. Using the math module

Python has a built-in math module, which contains math.pi for an accurate value of π (pi).

import math  # Import the math module

# Step 1: Take user input for the radius
radius = float(input("Enter the radius of the circle: "))

# Step 2: Calculate the area using the formula A = πr²
area = math.pi * radius ** 2

# Step 3: Display the result
print(f"The area of the circle with radius {radius} is: {area}")

Example Run (User Input and Output)

Input:

Enter the radius of the circle: 5

Output:

The area of the circle with radius 5.0 is: 78.53981633974483

Explanation:

  • math.pi provides a more precise value of π.
  • We use radius ** 2 to square the radius.
  • The print() function displays the result.

2. Using a Custom Value for Pi

If we don’t want to use the math module, we can define a constant value for π.

# Define a constant value for pi
PI = 3.14159

# Take user input
radius = float(input("Enter the radius of the circle: "))

# Calculate the area
area = PI * radius ** 2

# Print the result
print(f"The area of the circle with radius {radius} is: {area}")

Example Run

Input:

Enter the radius of the circle: 7

Output:

The area of the circle with radius 7.0 is: 153.93791

Explanation:

  • We manually set PI = 3.14159, which is slightly less accurate than math.pi.
  • The calculation PI * radius ** 2 is the same as before.
  • This method doesn’t require importing a module but is slightly less precise.

3. Using a Function (Reusability)

Encapsulating the logic inside a function makes the code reusable.

import math

def calculate_circle_area(radius):
    """Function to calculate the area of a circle given the radius"""
    return math.pi * radius ** 2

# Take user input
radius = float(input("Enter the radius of the circle: "))

# Call the function
area = calculate_circle_area(radius)

# Print the result
print(f"The area of the circle with radius {radius} is: {area}")

Example Run

Input:

Enter the radius of the circle: 10

Output:

The area of the circle with radius 10.0 is: 314.1592653589793

Explanation:

  • The calculate_circle_area(radius) function makes it easier to reuse.
  • The function returns the calculated area.
  • We call the function and print the result.

4. Handling Invalid Inputs (Robust Code)

To make the program more robust, we can:

  • Check if the radius is negative.
  • Handle invalid input (non-numeric values).
import math

def calculate_circle_area(radius):
    """Function to calculate the area of a circle given the radius"""
    return math.pi * radius ** 2

# Input validation
while True:
    try:
        radius = float(input("Enter the radius of the circle: "))
        if radius < 0:
            print("Radius cannot be negative. Please enter a positive number.")
        else:
            break  # Exit loop if input is valid
    except ValueError:
        print("Invalid input! Please enter a numerical value.")

# Call function and display result
area = calculate_circle_area(radius)
print(f"The area of the circle with radius {radius} is: {area}")

Example Runs

Case 1: Invalid Input

Input:

Enter the radius of the circle: abc

Output:

Invalid input! Please enter a numerical value.
Enter the radius of the circle: -5
Radius cannot be negative. Please enter a positive number.
Enter the radius of the circle: 6

Final Output:

The area of the circle with radius 6.0 is: 113.09733552923255

Explanation:

  • If the user enters non-numeric input (abc), the program asks again.
  • If the user enters a negative value, it asks again.
  • If the input is valid, it calculates the area.

5. Using a Lambda Function (Short Version)

A lambda function provides a compact way to write a one-line function.

import math

# Lambda function to calculate area
circle_area = lambda r: math.pi * r ** 2

# Take user input
radius = float(input("Enter the radius of the circle: "))

# Print result
print(f"The area of the circle with radius {radius} is: {circle_area(radius)}")

Example Run

Input:

Enter the radius of the circle: 4

Output:

The area of the circle with radius 4.0 is: 50.26548245743669

Explanation:

  • The lambda function is a one-liner equivalent to a normal function.
  • Useful for quick calculations but harder to read for beginners.

Conclusion

MethodAccuracyEase of UseBest Use Case
math.pi Very accurate EasyRecommended for most cases
Custom PI Less accurate EasyUse if math module is unavailable
Function Very accurate ReusableBest for larger programs
Input Handling Very accurate SafeAvoids user errors
Lambda Very accurate Harder to readQuick one-liner

Which method should you use?

  • If you want the most accurate result: Use math.pi
  • If you need to reuse the logic: Use a function
  • If you want a quick script: Use a lambda function
  • If you need error handling: Use input validation