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 pitagora(x1,x2): 
    import math
    y=math.sqrt(quadrato(x1)+quadrato(x2))
    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+pitagora(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

Nullo?

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

Quando il risultato è immediato…

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

Ancora…

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 != 0)

oppure

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

Segno

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

Confronto

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?

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

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

Maggiorenne

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

Bisestile?

def bisestile(anno): 
    return (anno%4 == 0) and (anno%100 != 0) or (anno%400 == 0)