
Esempi Python – In questa lezione faremo altri esempi in Python utilizzando il ciclo for.
Proponiamo quindi alcuni algoritmi.
Esempi Python – Primo esempio in Python
Scrivere i numeri da 1 a N saltando i multipli di 3.
Quindi chiediamo di prendere in input un numero N, dopo utilizziamo un ciclo for con range da 1 fino ad N+1.
All’interno del ciclo se l’indice i non è divisibile per 3 stampiamo il numero, altrimenti non facciamo nulla.
Ecco dunque una possibile risoluzione.
N = int(input('Inserire N: '))
for i in range(N+1):
if i%3 != 0:
print(i)
Secondo esempio
Dato un numero n scrivere i primi ‘n’ quadrati dei numeri interi.
Ad esempio se n=5 i primi 5 quadrati sono 1, 4, 9, 16, 25.
Al solito chiediamo all’utente di inserire un numero interno N. Dopo con un ciclo for con indice i nel range tra 1 ed N+1, calcoliamo le potenze e le visualizziamo.
N = int(input('Inserire N: '))
for i in range(1,N+1):
i**=2
print(i)
Terzo esempio
Dati due numeri m ed n, scrivere, contare e sommare i numeri che sono divisori di entrambi.
Esempio con m=20, n=30 1 2 5 10 conteggio 4, somma 18
Quindi prendiamo in input m ed n e inizializziamo le variabili c ed s a 0.
La variabile c rappresenta il contatore dei divisori, mentre s rappresenta la somma dei divisori.
Dopo con un ciclo for con i nel range 1 ed m+1, dividiamo m ed n per i e, solo se entrambi verificano il criterio di divisibilità impostato, stampiamo i valori di i, incrementiamo c e sommiamo il divisore alla variabile s.
Infine visualizziamo i valori di c e di s.
Ecco dunque il codice completo:
m = int(input('Inserire m: '))
n = int(input('Inserire n: '))
c = s = 0
for i in range(1,m+1):
if m%i == 0 and n%i == 0:
print(i)
c+=1
s+=i
print('I divisori in comune sono in totale: ',c)
print('La somma dei divisori in comune è: ',s)
Così facendo però se ad esempio m=30 e n=20 allora divideremo 20 per 30 e ciò non ha senso allora potrei fermarmi fissando un range al valore minimo tra i due. Ad esempio:
m = int(input('Inserire m: '))
n = int(input('Inserire n: '))
c = s = 0
for i in range(1,min(m,n)+1):
if m%i == 0 and n%i == 0:
print(i)
c+=1
s+=i
print('I divisori in comune sono in totale: ',c)
print('La somma dei divisori in comune è: ',s)
Potrei anche calcolare prima del for il minimo tra i dei due numeri senza usare la funzione minimo.
Questi erano solo alcuni esempi in Python, nelle prossime lezioni vedremo altre applicazioni.
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