Python : esercizi sulle stringhe

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
python esercizi

Lunghezza di una stringa

La funzione len restituisce la lunghezza di una stringa in numero di caratteri:

line = "Hello World"
hw = len(line)
print(hw) # 11
text = """Hello
World"""
print(len(text)) # 11
⇒ 11
11

Ripetizione e concatenazione di stringhe

Non pensare di poter  solo moltiplicare due o più numeri tra loro!
In python puoi anche “moltiplicare” una stringa per un numero.
Si chiama ripetizione.
In questo esempio abbiamo una stringa “Manu” che ripetiamo due volte.
Possiamo anche aggiungere due stringhe e concatenarle .
Non credo che l’operatore di ripetizione sia usato molto spesso, ma in un caso potrebbe tornare molto utile: Quando vogliamo sottolineare una titolo, quindi aggiungere una riga di trattini di lunghezza pari titolo stesso.

name = 2 * 'Manu '
print(name) # Manu Manu
full_name = name + 'Rossi'
print(full_name) # Manu Manu Rossi
title = "Sottolineiamo il titolo"
print(title)
print('-' * len(title))
# We have some title
# ------------------
⇒ Manu Manu
Manu Manu Rossi
Sottolineiamo il titolo
———————–

Trovare caratteri in una stringa

text = "La scienza dei dati"

a = text[0]
print(a) # L

b = text[6]
print(b) # e

⇒ L
e

String slice (invece di substr)

text = "Hello World"
b = text[1:4]
print(b) # ell
print(text[2:]) # llo World
print(text[:2]) # He
start = 1
end = 4
print(text[start:end]) # ell
⇒ ell
llo World
He
ell

Le stringhe sono immutabili!!!

Si può essere tentati di usare l’operatore porzione [] alla sinistra di un’assegnazione, con l’intenzione di cambiare un carattere di una stringa:

Saluto = "Ciao!"
Saluto[0] = 'M'            # ERRORE!
print Saluto

Invece di ottenere Miao! questo codice stampa il messaggio d’errore TypeError: object doesn't support item assignment.

Le stringhe sono infatti immutabili e ciò significa che non puoi cambiare una stringa esistente.

L’unica cosa che puoi eventualmente fare è creare una nuova stringa come variante di quella originale:

Forse potrebbe interessarti anche:  Excel : analizzare i dati delle vendite. Valutazione dell'incidenza dei giorni della settimana

Saluto = "Ciao!"

NuovoSaluto = 'M' + Saluto[1:]
print (NuovoSaluto)
⇒ Miao!
quindi:

Come modificare una stringa?

Possiamo solo sostituire una parte della stringa…

Esempio 1

text = "abcd"
print(text) # abcd
text = text[:2] + 'Y' + text[3:]
print(text) # abYd
⇒ abcd
abYd
Esempio 2
text = "abcd"
print(text) # abcd
text = text + "ef"
print(text) # abcdef
other = text
print(other) # abcdef
text = "xyz"
print(text) # xyz
print(other) # abcdef