2014-05-01 16:21:43 -04:00
|
|
|
# test builtin min and max functions
|
2017-02-14 16:57:56 -05:00
|
|
|
try:
|
|
|
|
min
|
|
|
|
max
|
|
|
|
except:
|
|
|
|
print("SKIP")
|
2017-06-10 13:03:01 -04:00
|
|
|
raise SystemExit
|
2014-05-01 16:21:43 -04:00
|
|
|
|
|
|
|
print(min(0,1))
|
|
|
|
print(min(1,0))
|
|
|
|
print(min(0,-1))
|
|
|
|
print(min(-1,0))
|
|
|
|
|
|
|
|
print(max(0,1))
|
|
|
|
print(max(1,0))
|
|
|
|
print(max(0,-1))
|
|
|
|
print(max(-1,0))
|
|
|
|
|
|
|
|
print(min([1,2,4,0,-1,2]))
|
|
|
|
print(max([1,2,4,0,-1,2]))
|
|
|
|
|
2014-08-24 14:14:09 -04:00
|
|
|
# test with key function
|
|
|
|
lst = [2, 1, 3, 4]
|
|
|
|
print(min(lst, key=lambda x:x))
|
|
|
|
print(min(lst, key=lambda x:-x))
|
|
|
|
print(min(1, 2, 3, 4, key=lambda x:-x))
|
|
|
|
print(min(4, 3, 2, 1, key=lambda x:-x))
|
|
|
|
print(max(lst, key=lambda x:x))
|
|
|
|
print(max(lst, key=lambda x:-x))
|
|
|
|
print(max(1, 2, 3, 4, key=lambda x:-x))
|
|
|
|
print(max(4, 3, 2, 1, key=lambda x:-x))
|
2015-04-04 17:05:30 -04:00
|
|
|
|
|
|
|
# need at least 1 item in the iterable
|
|
|
|
try:
|
|
|
|
min([])
|
|
|
|
except ValueError:
|
|
|
|
print("ValueError")
|
2015-12-07 11:29:56 -05:00
|
|
|
|
|
|
|
# 'default' tests
|
|
|
|
print(min([1, 2, 3, 4, 5], default=-1))
|
|
|
|
print(min([], default=-1))
|
|
|
|
print(max([1, 2, 3, 4, 5], default=-1))
|
|
|
|
print(max([], default=-1))
|
2015-12-07 12:32:15 -05:00
|
|
|
# make sure it works with lazy iterables
|
|
|
|
# can't use Python generators here, as they're not supported
|
|
|
|
# byy native codegenerator.
|
|
|
|
print(min(enumerate([]), default=-10))
|