Esercizi Python
Esercizi Python
0.
#Calcolare quadrato e cubo di un numero intero fornito in input
print("Quadrato e cubo di un numero")
numero = int(input("Numero : "))
quadrato=numero*numero;
cubo=quadrato*numero;
print("Quadrato di "+str(numero)+" = " + str(quadrato))
print("Cubo di "+str(numero)+" = " + str(cubo))
1.
if a == b:
print("I numeri sono identici")
elif a > b:
print("Il numero più grande tra i due è " + str(a))
else:
print("Il numero più grande tra i due è " + str(b))
2.
3.
4.
Scrivi un semplice programma che, data una lista di numeri, sommi tra loro
tutti gli elementi.
5.
Scrivi una semplice funzione che, data una lista di numeri, fornisca in output
un istogramma basato su questi numeri, usando asterischi per disegnarlo.
Data ad esempio la lista [3, 7, 9, 5], la funzione dovrà produrre questa sequenza:
***
*******
*********
***** Soluzione
def istogramma(lista):
for numero in lista:
print("*" * numero)
7.
Scrivi una funzione che restituisca la lunghezza di una stringa o lista passata
come parametro. In sostanza, seppur presente, provate a scrivere la nostra
versione della funzione len! Soluzione
def my_len(lst_or_str):
length = 0
for unit in lst_or_str:
length += 1
return length
8.
Scrivi una funzione che data in ingresso una lista A contenente n parole,
restituisca in output una lista B di interi che rappresentano la lunghezza delle
parole contenute in A.
def char_counter(lista_a):
lista_b = []
for parola in lista_a:
lista_b.append(len(parola))
return lista_b
def char_counter_pro(lista_a):
return [len(parola) for parola in lista_a]
9.
Scrivi una funzione che, data una stringa come parametro, restituisca
un dizionario rappresentante la "frequenza di comparsa" di ciascun carattere
componente la stringa.
Per fare un esempio, data una stringa "ababcc", otterremo in risultato {"a": 2, "b":
2, "c": 2} Soluzione
def char_freq(str):
mappa = {}
for carattere in str:
if carattere in mappa:
mappa[carattere] += 1
else:
mappa[carattere] = 1
return mappa
10.
Scrivi una semplice funzione che converta un dato numero di giorni, ore e
minuti, passati dall'utente tramite funzione input, in secondi. Soluzione
def calcola_secondi():
print("Questa funzione converte un dato numero di Giorni, Ore e
Minuti in Secondi.")
da_giorni = int(input("Inserisci il numero di giorni: ")) * 24 * 3600
da_ore = int(input("Inserisci il numero di ore: ")) * 3600
da_minuti = int(input("Inserisci il numero di minuti: ")) * 60
totale = da_giorni + da_ore + da_minuti
print(totale)
11.
Scrivi una funzione che, dato in ingresso un valore espresso in metri, mandi in
print l'equivalente in miglia terrestri, iarde, piedi e pollici. Come risolverai questo
esercizio? Soluzione
def americana(metri):
conversions = dict()
conversions["miglia"] = metri / 1609.344
conversions["piedi"] = metri * 3.280840
conversions["pollici"] = metri * 39.37008
conversions["iarde"] = metri * 1.093613
12.
• un cerchio
• un quadrato
• un rettangolo
• un triangolo
def geometra():
print("""
Benvenuti alla funzione Geometra!
In fase di selezione, a ciascun possibile calcolo corrisponde un
valore numerico:
- Area Quadrato: 1
- Area Rettangolo: 2
- Area Triangolo: 3
- Area Cerchio: 4
""")
13.
def fact(n):
prod=1
for i in range(1,n+1):
prod *= i
return prod
def fattoriale(n):
if n == 1:
return n
else:
result = n * fattoriale(n-1)
return result
14.
Nella Successione di Fibonacci, ciascun numero è la somma dei due numeri che
lo precedono, ad esempio:
1, 1, 2, 3, 5, 8, 13 (...)
Scrivi una funzione ricorsiva che restituisce in output i numeri della successione
di Fibonacci, entro una soglia specifica impostata dall'utente.
def fibo(n):
... a,b=0,1
... a,b=b,a+b
Soluzione
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
def multiply_matrix(A,B):
rows = len(A)
cols = len(B[0])
if len(A[0]) == len(B):
C = np.zeros((rows,cols),dtype = int)
for row in range(rows):
for col in range(cols):
for elt in range(len(B)):
C[row][col] += A[row][ elt] * B[let][ col]
return C
else:
return "Sorry, cannot multiply A and B."
for r in result:
print(r)