Skip to content

Commit d95ffc9

Browse files
Add input validation for division by zero in divide_numbers()
This module provides a function for dividing two numbers with input validation to prevent division by zero errors, enhancing user experience with clear error messages.
1 parent ae68a78 commit d95ffc9

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

maths/division.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
"""
2+
This module provides a function for dividing two numbers with proper input validation.
3+
4+
The divide_numbers function includes validation to prevent division by zero errors,
5+
providing clear error messages for better user experience.
6+
"""
7+
8+
9+
def divide_numbers(a: float, b: float) -> float:
10+
"""
11+
Divide two numbers with input validation for zero denominator.
12+
13+
Args:
14+
a: The numerator (dividend)
15+
b: The denominator (divisor)
16+
17+
Returns:
18+
float: The result of a divided by b
19+
20+
Raises:
21+
ValueError: If b is zero
22+
23+
Examples:
24+
>>> divide_numbers(10, 2)
25+
5.0
26+
>>> divide_numbers(15, 3)
27+
5.0
28+
>>> divide_numbers(10, 0)
29+
Traceback (most recent call last):
30+
...
31+
ValueError: Cannot divide by zero. Please provide a non-zero denominator.
32+
"""
33+
if b == 0:
34+
raise ValueError("Cannot divide by zero. Please provide a non-zero denominator.")
35+
return a / b
36+
37+
38+
if __name__ == "__main__":
39+
import doctest
40+
41+
doctest.testmod()

0 commit comments

Comments
 (0)