Dissenya una funció max_min2(x, y) tal que donats dos valors x e y retorni els dos valors ordenats: el primer ha de ser el major i el segon el menor
>>> max_min2(23, -7)
(23, -7)
>>> max_min2(4-1, 4+1)
(5, 3)
>>> max_min2('adeu', 'hola')
('hola', 'adeu')
Una posible solució:
def max_min2(x, y): if x >= y: return x, y else: return y, xNota
De forma alternativa també es pot definir la funció sense fer ús de condicionals:
def max_min2(x, y): return max(x,y), min(x,y)
Dissenya una funció max_min3(x, y, z) tal que donats tres valors x, y i z retorni els tres valors ordenats de major a menor. La funció ha de fer servir l’anàlisi de casos
>>> max_min3(23, -7, 14)
(23, 14, -7)
>>> max_min3(4-1, 4+1, -3/2)
(5, 3, -1.5)
Dissenea una funció nova_max_min3(x, y, z) amb el mateix comportament que l’anterior, però que en la seva definició cridi a la funció max_min
>>> nova_max_min3(23, -7, 14)
(23, 14, -7)
>>> nova_max_min3(4-1, 4+1, -3/2)
(5, 3, -1.5)
Nota
Recorda que quan una funció retorna més d’un resultat, els pots “separar” (unpack) assignant el resultat de la funció a vàries variables:
>>> max_min2(11+1, 17*2) # la funció retorna (34, 12)
(34, 12)
>>> major, menor = max_min2(11+1, 17*2)
>>> major
34
>>> menor
12