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