From 8b5bac12c093080e2f146d8f8e9b6cd17e950dc4 Mon Sep 17 00:00:00 2001 From: POLKAM ARAVIND <2400030648@kluniversity.in> Date: Mon, 24 Nov 2025 18:37:35 +0530 Subject: [PATCH 1/2] Add division.py with divide_numbers function and zero division validation (fixes #13845) This module provides a function to perform division with error handling for zero denominator, making it user-friendly for beginners. --- maths/division.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 maths/division.py diff --git a/maths/division.py b/maths/division.py new file mode 100644 index 000000000000..7fc20dbd9207 --- /dev/null +++ b/maths/division.py @@ -0,0 +1,40 @@ +""" +Division Algorithm with input validation for zero denominator. + +This module provides a function to perform division with proper +error handling for edge cases, especially for beginners learning +algorithms. +""" + + +def divide_numbers(a: int | float, b: int | float) -> float: + """ + Divide two numbers with validation for zero denominator. + + This function performs division of 'a' by 'b' with explicit validation + to raise a ValueError when attempting to divide by zero. This makes the + function more user-friendly and helps beginners understand error handling. + + Args: + a: The dividend (numerator) + b: The divisor (denominator) + + Returns: + float: The result of dividing a by b + + Raises: + ValueError: If b (denominator) is zero + + Examples: + >>> divide_numbers(10, 2) + 5.0 + >>> divide_numbers(7, 2) + 3.5 + >>> divide_numbers(5, 0) + Traceback (most recent call last): + ... + ValueError: Cannot divide by zero. Please provide a non-zero denominator. + """ + if b == 0: + raise ValueError("Cannot divide by zero. Please provide a non-zero denominator.") + return a / b From 9090645c75ffabc59a5c59426911ca5e99e71b70 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 24 Nov 2025 14:28:17 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- maths/division.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/maths/division.py b/maths/division.py index 7fc20dbd9207..618bbcad93df 100644 --- a/maths/division.py +++ b/maths/division.py @@ -36,5 +36,7 @@ def divide_numbers(a: int | float, b: int | float) -> float: ValueError: Cannot divide by zero. Please provide a non-zero denominator. """ if b == 0: - raise ValueError("Cannot divide by zero. Please provide a non-zero denominator.") + raise ValueError( + "Cannot divide by zero. Please provide a non-zero denominator." + ) return a / b