giovedì 2 aprile 2015

Le funzioni ord() e chr(). [Brevi Esercizi]

Salve!

Oggi facciamo un breve esercizio con Python3.

Problema.

Se a Python do in pasto la stringa "baro", mi dovrà restituire la stringa "caro". In altri termini, mi dovrà sostituire il primo carattere di una stringa con quello successivo nell'alfabeto e poi stamparlo

Gli ingredienti per svolgere l'esercizio.

La funzione ord() mi restituisce il codice corrispondente al carattere nella scala unicode

Esempio, se nella shell di Python scrivo

>> ord("b")

la funzione ord() mi restituirà 98, che rappresenta il codice corrispondente al carattere nella scala unicode.

Se poi scrivo:

>> chr(98)

Avrò come risultato

'b'

La funzione chr() traduce il codice 98 nella lettera corrispondente, che è "b". Abbiamo fatto così la prova del nove.

Ancora, come faccio a conoscere il primo carattere di una stringa, tenuto anche conto che python inizia a contare sempre da zero?

>> parola = "baro" #Variabile
>> parola[0] #Cerco il primo carattere della stringa "baro"

la shell mi restituirà "b"

Ecco, penso che ora abbiamo tutti gli elementi per svolgere l'esercizio.


>> print(chr(ord(parola[0])+1) + parola[1:])

Abbiamo detto che la funzione ord() trasforma, in questo caso, la lettere b in un codice. Questo codice, che sappiamo essere 98, lo sommiamo ad 1, quindi diventerà 99, che la funzione chr() tradurrà nel carattere corrispondente, che è "c", successivo a "b" nell'alfabeto. Poi sommiamo il carattere "c" con la stringa "baro", escluso il primo carattere. Infine passiamo tutto alla funzione print(), il cui compito è quello di stampare a video il risultato.


Ritornerò con gli esercizi di Python3 ogni giovedì.

Alla prossima!


Nessun commento:

Posta un commento