Vedi la versione senza funzioni.
Dati due o più valori decidere qual è il più piccolo (grande)
Soluzione 1
La funzione predefinita min()
accetta un numero variabile di argomenti e offre la soluzione più immediata…
...
m2 = min(a, b)
m3 = min(a, b, c)
m4 = min(a, b, c, d)
...
Soluzione 2
Puoi scegliere tra diverse soluzioni per 2 argomenti
def min2(x, y):
if(x <= y):
return x
else:
return y
def min2(x, y):
if(x <= y):
m = x
else:
m = y
return m
def min2(x, y):
m = x
if(y <= m):
m = y
return m
e continuare per 3, 4, …
def min3(x, y, z):
if(x <= y):
if(x <= z):
return x
else:
return z
else:
if(y <= z):
return y
else:
return z
def min3(x, y, z):
if(x <= y):
m = x
else:
m = y
if(z < m):
m = z
return m
def min3(x, y, z):
m = x
if(y < m):
m = y
if(z < m):
m = z
return m
Soluzione 3
Le funzioni con 3, 4, … argomenti non sono necessarie perché dopo aver realizzato la funzione con 2 argomenti puoi riutilizzarla
def min2(x, y):
if(x <= y):
return x
else:
return y
##########################################################
m2 = min2(a, b) # Minimo di 2
##########################################################
m2 = min2(a, b)
m3 = min2(m2, c) # Minimo di 3
m3 = min2(min2(a, b), c) # Minimo di 3 senza la variabile m2
##########################################################
m4 = min2(min2(a, b), min2(c, d)) # Minimo di 4 senza altre variabili
m4 = min2(min2(min2(a, b), c), d) # oppure...
Massimo?
Ripeti i ragionamenti precedenti sostituendo min()
con max()
e <=
con >=
.