Skip to content

Commit 6017ab2

Browse files
author
ebokoo
committed
Add sign function to maths module
1 parent 678dedb commit 6017ab2

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

maths/sign.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
"""Sign Function."""
2+
3+
4+
def sign(num: float) -> int:
5+
"""
6+
Return the sign of a number: -1 for negative, 0 for zero, 1 for positive.
7+
8+
>>> sign(-5)
9+
-1
10+
>>> sign(0)
11+
0
12+
>>> sign(10)
13+
1
14+
>>> sign(-0.5)
15+
-1
16+
"""
17+
if num > 0:
18+
return 1
19+
elif num < 0:
20+
return -1
21+
return 0
22+
23+
24+
def test_sign() -> None:
25+
"""
26+
>>> test_sign()
27+
"""
28+
assert sign(-5) == -1
29+
assert sign(0) == 0
30+
assert sign(10) == 1
31+
assert sign(-0.001) == -1
32+
assert sign(0.001) == 1
33+
34+
35+
if __name__ == "__main__":
36+
import doctest
37+
38+
doctest.testmod()
39+
test_sign()
40+
print(sign(-5)) # --> -1

0 commit comments

Comments
 (0)