In un programma è importante prendere decisioni: Python offre strumenti molto semplici, ma potenti, per fare ciò. Il primo di cui parlare è il ciclo while, traducibile in “fino a che”. Facciamo un piccolo esempio, che poi renderemo in codice:
a = 0
FINO A CHE a<10:
a = a+1
STAMPA a
Sostanzialmente dice al computer: Fino a che a è minore di 10, aggiungi 1 ad a e stampalo a monitor.
Traduciamolo in python.
a = 0
while a<10:
a = a+1
print a
While esegue il suo ciclo fino a che la condizione che gli date resta vera. Con While si possono fare loop infiniti. Facciamo un esempio:
FINO A CHE 1 == 1:
STAMPA “Loop infinito”
Dato che 1 è sempre uguale ad 1 il ciclo sarà senza fine, e andrà interrotto con CTRL + C.
Rendiamolo in codice:
while 1==1:
print “Loop infinito”
Adesso passiamo ad una funzionalità più interessante: Il salto condizionato.
Come da nome il salto condizionato effettuerà una operazione solo se la condizione che gli date è vera, altrimenti fa altro.
Esempio, che poi renderemo in codice:
a = 0
SE a==0:
STAMPA “A uguale a zero”
ALTRIMENTI:
STAMPA “A non uguale a zero”
Rendiamolo in codice:
a = 0
if a == 0:
print “A uguale a zero”
else:
print “A non uguale a zero”
Come potete notare si usano IF ed ELSE, equivalenti inglesi di SE e ALTRIMENTI.
Esiste anche un terzo operatore, ma ve ne parlerò più avanti. Adesso passiamo alla pratica e scriviamo un software che calcola i valori assoluti. Il valore assoluto di un numero è, se maggiore di 0, lui, se minore il numero senza segno meno.
Iniziamo:
Python 2.7:
num = input(“Inserisci il numero di cui calcolare il valore assoluto:”)
if num > 0:
print num
else:
print -num
Python 3.x:
num = eval(input(“Inserisci il numero di cui calcolare il valore assoluto:”))
if num > 0:
print num
else:
print -num
Sostanzialmente diciamo al computer di chiedere all’utente di dare un numero. Poi il calcolatore deve verificare se è maggiore di zero. Se lo è stampa il numero, se non lo è stampa il numero negato (quindi diventa positivo).
If può essere usato anche per primtiivi sistemi di login. Ad esempio (codice solo per Python 2.7):
nute = raw_input(“Inserisci nome utente:”)
if nute == “sciking”
[programma]
else:
print “non dovresti ficcare il naso qui…”
Ve ne parlerò meglio nel prossimo post.
ESERCIZI:
1) Scrivere un software che stampi i numeri fino a 1000 dopo aver chiesto un nome utente
2) Scrivere un software che scriva tutti i numeri negativi.
3) Scrivere un software che somma due numeri ma da il risultato solo se positivo.