Soluzioni seconda lezione

Esercizio 1

In questo caso l'esercizio chiede di mettere un singolo blocco if/else nella funzione. La scelta è dettata dal fatto che quelle quattro righe si ripetono pressoché identiche per tre volte. Se si volesse modificare una di queste righe, andrebbe modificata 3 volte.

Le funzioni possono essere viste come un modo di aderire al principio 'DRY', che sta per Don't Repeat Yourself.

import math

def stampa_radice_quadrata(numero):
    if numero < 0:
        print("Errore: " + str(numero) + " è un numero negativo")
    else:
        print(math.sqrt(numero))
    # per scelta non serve il return in questa funzione

n1 = int(input("Inserisci il primo numero: "))
n2 = int(input("Inserisci il secondo numero: "))
n3 = int(input("Inserisci il terzo numero: "))
stampa_radice_quadrata(n1)
stampa_radice_quadrata(n2)
stampa_radice_quadrata(n3)

Esercizio 2

Innanzitutto bisogna importare il modulo che ci interessa per poterlo utilizzare. In questo caso, o nell'interprete o nel file python, va scritto

import random

Si può leggere la documentazione ufficiale per capire il funzionamento di randint: https://docs.python.org/3/library/random.html#random.randint

Un dado a 6 facce si simula semplicemente chiamando randint in questo modo:

random.randint(1, 6)

Esercizio 4

def fattoriale(n):
    i = 1
    risultato = 1
    while i <= n:
        risultato *= i # uguale a risultato = risultato * i
        i += 1

    return risultato