mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-12-05 02:40:16 +00:00
a4d68d69f1
* bugfix: Add abs_max.py & abs_min.py empty list detection * fix shebangs check
36 lines
646 B
Python
36 lines
646 B
Python
from __future__ import annotations
|
|
|
|
from .abs import abs_val
|
|
|
|
|
|
def abs_min(x: list[int]) -> int:
|
|
"""
|
|
>>> abs_min([0,5,1,11])
|
|
0
|
|
>>> abs_min([3,-10,-2])
|
|
-2
|
|
>>> abs_min([])
|
|
Traceback (most recent call last):
|
|
...
|
|
ValueError: abs_min() arg is an empty sequence
|
|
"""
|
|
if len(x) == 0:
|
|
raise ValueError("abs_min() arg is an empty sequence")
|
|
j = x[0]
|
|
for i in x:
|
|
if abs_val(i) < abs_val(j):
|
|
j = i
|
|
return j
|
|
|
|
|
|
def main():
|
|
a = [-3, -1, 2, -11]
|
|
print(abs_min(a)) # = -1
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import doctest
|
|
|
|
doctest.testmod(verbose=True)
|
|
main()
|