Anche senza funzioni ci sono casi in cui l'esecuzione di un'istruzione o un blocco di esse può essere eseguita solo se si verificano certe condizioni. Un esempio semplicissimo: ricordate, vero, l'operatore % (modulo) cioè resto della divisione fra interi? Eccolo all'opera: (i0.py)
#!/usr/bin/python
# -*- coding: utf-8 -*-
n = int(raw_input('dammi un numero: '))
resto = n % 2
pari = resto == 0
if pari:
print n, 'è pari'
OK, si può fare meglio, sapere anche cosa capita se il numero è dispari, ecco: (i1.py)
#!/usr/bin/python
# -*- coding: utf-8 -*-
n = int(raw_input('dammi un numero: '))
resto = n % 2
pari = resto == 0
if pari:
print n, 'è pari'
else:
print n, 'è dispari'
Adesso rischio con i matematici. Ma in ossequio alla norma salva Sallusti sono disponibile a smentirmi, fin da subito, anzi considerate la cosa già fatta. Sì perché ci metto dentro anche una condizione, tutta per il numero zero. Secondo Wikipedia non dovrei qui
#!/usr/bin/python
# -*- coding: utf-8 -*-
n = int(raw_input('dammi un numero: '))
resto = n % 2
pari = resto == 0
if n == 0:
print n, 'è zero'
elif pari:
print n, 'è pari'
else:
print n, 'è dispari'
L'unica cosa da notare è che elif sta per else if, Guido van Rossum, il creatore di Python, ha pensato che si potevano risparmiare tre caratteri.Se poi volessimo testare più numeri potremmo inserire tutto in un ciclo (come abbiamo visto nel post precedente). Ecco i3.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
t = True
while t:
n = int(raw_input('dammi un numero: '))
resto = n % 2
pari = resto == 0
if n == 0:
print n, 'è zero'
t = not t # si poteva scrivere anche t = False
elif pari:
print n, 'è pari'
else:
print n, 'è dispari'
Uh! Un blocco dentro un blocco! Troppo difficile? Lasciate un commento che dissiperemo eventuali dubbi.Il caro Juhan
Alla prossima!
P.S. Vi ricordo che l'indice a "Mission Python" lo potete trovare qui
Juhan, il concetto di if mi è chiaro, quello di ciclo un po' meno.
RispondiEliminaFai un ciclo cioè ripeti più volte un'istruzione o un blocco in cui cambia solo qualche valore di variabile. Ritorna al post dei cicli e dimmi là cosa non ti torna.
Elimina