File: LP6E/Chapter18/mins.py

"Find minimum value among all passed arguments of comparable types"

def min1(*args):
    res = args[0]
    for arg in args[1:]:
        if arg < res:
            res = arg
    return res

def min2(first, *rest):
    for arg in rest:
        if arg < first:
            first = arg
    return first

def min3(*args):
    tmp = list(args)
    tmp.sort()
    return tmp[0]

def min4(*args):
    return sorted(args)[0]

for func in (min1, min2, min3, min4):           # Test all 4 functions
    print(func.__name__ + '...')
    print(func(3, 4.0, 1, 2))                   # Mixed numerics
    print(func('bb', 'aa'))                     # Strings: code points
    print(func([2, 2], [1, 1], [3, 3]))         # Lists: recursive
    print(func(*'hack'))                        # Unpacked characters



[Home page] Books Code Blog Python Author Train Find ©M.Lutz