Funzioni CON risultato 2

Esercizi elementari: Pi greco / Nullo? / Pari/Dispari / Confronto / Appartenenza / Bisestile? / Teorema di Pitagora / …

Funzioni “di servizio”

def quadrato(x):
    y=x*x        # operazioni...
    return y     # risultato

def cubo(x):
    y=x*x*x      # operazioni...
    return y     # risultato

def ipotenusa(c1, c2): 
    import math
    y=math.sqrt(quadrato(c1)+quadrato(c2))
    return y

Figure geometriche

#--------------------------------------------------- QUADRATO
def perimetro(lato):
    return 4*lato         # operazioni e risultato 
def area(lato):
    return quadrato(lato) # operazioni e risultato

print("Quadrato - perimetro =", perimetro(10)) # 40
print("Quadrato - area      =", area(10)     ) # 100

#--------------------------------------------------- TRIANGOLO RETTANGOLO
def perimetro(c1, c2): 
    return c1+c2+ipotenusa(c1, c2)
def area(c1, c2): 
    return c1*c2/2

print("Triangolo rett. - perimetro", perimetro(3,4)) # 12 
print("Triangolo rett. - area     ", area(3,4)     ) # 6

#--------------------------------------------------- CUBO 
def superficie(spigolo): 
    return 6*quadrato(spigolo) 
def volume(spigolo): 
    return cubo(spigolo) 

print("CUBO - superficie =", superficie(10)) # 600
print("CUBO - volume     =", volume(10)    ) # 1000

Pi greco

def pigreco(): 
    return 3.14159

Ipotenusa

def ipotenusa(c1, c2):
    from math import sqrt
    return sqrt(c1**2 + c2**2)

Valore assoluto

def assoluto(x):
    if(x >= 0):
        return x
    else:
        return -x

Più corta?

def assoluto(x):
    if(x >= 0): return  x
    else:       return -x

Ancora più corta?

def assoluto(x):
    if(x < 0): x = -x
    return x

Nullo?

def nullo(x):
    if(x == 0):
        return True
    else:
        return False

Quando il risultato è dato da un’espressione logica

def nullo(x): 
    return (x == 0)

Ancora più breve

def nullo(x): return (x == 0)

Pari/dispari

def pari(num):
    if(num%2 == 0):
        return True
    else:
        return False

Osserva

def pari   (num): return (num%2 == 0)
def dispari(num): return (num%2 == 1)

oppure

def pari   (num): return (num%2 == 0)
def dispari(num): return not pari(num)

Maggiorenne

def maggiorenne(anni): 
    return (anni >= 18)

Ripeti i ragionamenti dell’esercizio precedente

Segno

Le risposte possono essere 3!

def segno(x):
    if(x < 0):
        return -1
    elif(x == 0):
        return 0
    else:
        return 1

Accorcia…

def segno(x):
    if(x < 0):    return -1
    elif(x == 0): return  0
    else:         return  1

Confronto

Le risposte possono essere 3!

def confronto(x, y):
    if(x < y):    return -1  # x è minore di y
    elif(x == y): return  0  # x è uguale a y
    else:         return  1  # x è maggiore di y

Appartenenza

Il valore di x appartiene all’intervallo specificato?

def appartiene1(x, a, b):           # [a, b]
    return (x >= a) and (x <= b)

def appartiene2(x, a, b):           # (a, b) oppure ]a, b[
    return (x > a) and (x < b)

Continua…