In questa lezione, propongo altri esercizi sul ciclo for in Python.
Primo esercizio ciclo for in Python
Progettate un algoritmo che scriva tutte le coppie di numeri che danno per prodotto 60.
La soluzione consiste nell’utilizzare un ciclo for per trovare i divisori di 60, quindi per ogni divisore troviamo anche il quoziente.
Ricordiamo infatti come si chiamano i termini della divisone facendo un esempio:
60 : 3 = 20
Quindi 60 si chiama dividendo, 3 si chiama divisore e 20 si chiama quoziente. Questo vuol dire che se moltiplico il quoziente ottenuto per il divisore ottengo il dividendo. Infatti in questo caso specifico si ha: 20 *3=60.
Allora inizializziamo n a 60.
Dopo impostiamo il range con l’indice i deve partire da 1 in quanto altrimenti si avrebbe una divisione per zero e ciò non è possibile e si ferma ad n+1 perché dobbiamo dividere per 60 se vogliamo trovare tutte le coppie.
Poi, facendo questa operazione n % i == 0
si controlla se il resto della divisone è zero. Se è vero significa che i è il divisore, dunque troviamo il quoziente.
Infine stampiamo le coppie.
Algoritmo ciclo for in Python per trovare le coppie che danno come prodotto 60
Ecco dunque l’algoritmo che utilizza il ciclo for in Python per trovare le coppie che danno come prodotto 60:
n = 60
for i in range(1, n+1):
if n % i == 0:
q = n // i
print('Coppia ', i, ' e ', q)
Svolgiamo alcuni passi dell’algoritmo per spiegarlo meglio.
n = 60
Primo passo:
for i in range(1, n+1): # i = 1
if n % i == 0: #60 % 1 == 0 è vera
q = n // i #troviamo il quoziente cioè q = 60 // 1 = 60
print(‘Coppia ‘, i,’ e ‘, q) #Stampiamo la prima coppia cioè i = 1 e q = 60
Secondo passo:
for i in range(1, n+1): # i = 2
if n % i == 0: #60 % 2 == 0 è vera
q = n // i #troviamo il quoziente cioè q = 60 // 2 = 30
print(‘Coppia ‘, i,’ e ‘, q) #Stampiamo la prima coppia cioè i = 2 e q = 30
Terzo passo:
for i in range(1, n+1): # i = 3
if n % i == 0: # 60 % 3 == 0 è vera
q = n // i #troviamo il quoziente cioè q = 60 // 3 = 20
print(‘Coppia ‘, i,’ e ‘, q) #Stampiamo la prima coppia cioè i = 3 e q =20
e così via fino all’ultimo passaggio dove divideremo il numero per se stesso.
Secondo esercizio ciclo for in Python
Stampa i primi N numeri dispari successivi al numero A.
Prendiamo in input il numero da cui partire, cioè A e la quantità di numeri dispari da visualizzare successivi ad A.
ES: Inseriamo N = 5 ed A = 6.
Quindi i 5 successivi numeri dispari di A che dobbiamo visualizzare sono: 7, 9, 11, 13, 15.
Allora l’indice i del for deve partire da 7 e terminare a 15. Da 7 a 15 ci sono 2* N -1 (9) numeri di cui 5 sono dispari e 4 pari.
Altro esempio: Inseriamo N = 3 ed A = 7.
Quindi i 3 successivi numeri dispari di A che dobbiamo visualizzare sono: 9, 11, 13.
Allora l’indice i del for deve partire da 9 e terminare a 13. Da 9 a 13 ci sono 2* N -1 (5) numeri di cui 3 sono dispari e 2 pari.
Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!
Osservando gli esempi sopra, onde evitare di creare due cicli for, eseguiamo un if e se A è pari lo facciamo diventare dispari, se A è dispari lo incrementiamo di 2.
Poi realizziamo un ciclo for che inizializza l’indice i ad A, in quanto rappresenta il numero di partenza ed incrementa il valore di A di 2 fino ad arrivare alla somma di A più il doppio dei numeri richiesti .
Dunque basta stampare semplicemente l’indice per ottenere quello che l’algoritmo richiede.
Ecco il codice completo che utilizza il ciclo for in Python:
N = int(input('Quanti numeri visualizzare? '))
A = int(input('Inserisci il valore da cui partire: '))
if A % 2 == 0:
A += 1
else:
A += 2
for i in range(A, A + N * 2, 2):
print(i)
Conclusioni
In questo articolo sono stati presentati due esercizi che utilizzano il ciclo for in Python per risolvere problemi specifici.
Il primo esercizio riguarda la ricerca delle coppie di numeri che danno come prodotto 60. Abbiamo illustrato un algoritmo che utilizza un ciclo for per trovare i divisori di 60 e quindi determinare le coppie corrispondenti. Abbiamo anche fornito un’analisi passo dopo passo dell’algoritmo per chiarire il suo funzionamento.
Il secondo esercizio consiste nella stampa dei primi N numeri dispari successivi a un numero dato A. Abbiamo fornito un algoritmo che, mediante un controllo condizionale, assicura che il numero di partenza A sia dispari. Successivamente, utilizzando un ciclo for, vengono stampati i numeri dispari successivi ad A, con un calcolo accurato dell’intervallo da considerare.
Entrambi gli esercizi mostrano come il ciclo for può essere utilizzato in combinazione con altre strutture e operazioni per risolvere problemi specifici. Questi esempi forniscono una buona base per comprendere e utilizzare il ciclo for in Python in contesti pratici.
Alcuni link utili
Indice tutorial sul linguaggio Python
1 – Introduzione al linguaggio Python
2 – Le variabili
3 – Operatori aritmetici e di assegnazione
4 – Stringhe
5 – Casting
6 – Input e print
8 – Errori in Python
9 – Script Python
10 – Scambio di variabili
11 – Modulo math
12 – Operatori di confronto e booleani
13 – If else
14 – If elif else
15 – If annidati