Stringhe
# ============================================================
# 1. Cosa significa indicizzare una stringa
# ============================================================
# Mostrare che le stringhe sono sequenze di caratteri e ogni carattere
# ha una posizione (indice), a partire da 0.
# Esempio:
word = "Banana"
print(word[0]) # primo carattere
print(word[1]) # secondo carattere
# ============================================================
# 2. Indici positivi
# ============================================================
# Spiegare che gli indici positivi partono da sinistra → 0, 1, 2...
# Esempio:
fruit = "Apple"
print(fruit[3]) # 'l'
# ============================================================
# 3. Indici negativi
# ============================================================
# Mostrare che gli indici negativi partono dalla fine → -1, -2...
# Esempio:
fruit = "Orange"
print(fruit[-1]) # ultimo carattere
print(fruit[-2]) # penultimo carattere
# ============================================================
# 4. Accesso a caratteri tramite variabile indice
# ============================================================
# Mostrare che l'indice può essere una variabile
# Esempio:
text = "Python"
i = 2
print(text[i]) # stampa 't'
# ============================================================
# 5. Range di indicizzazione non valido
# ============================================================
# Mostrare IndexError quando l’indice è fuori range
# Da mostrare, non da eseguire live:
word = "Hi"
print(word[5]) # IndexError
# ============================================================
# 6. Slicing di stringhe (cenno introduttivo)
# ============================================================
# Introduzione al concetto:
# stringa[inizio:fine] → estrae una porzione
# Esempio:
name = "Carrot"
print(name[1:4]) # 'arr'
# ============================================================
# 7. Utilizzo della funzione len()
# ============================================================
# Mostrare che len() restituisce il numero di caratteri della stringa
# Esempio:
greeting = "Hello"
print(len(greeting)) # 5
# ============================================================
# 8. Usare len() insieme all’indicizzazione
# ============================================================
# Trovare l’ultimo carattere con len() - 1
# Esempio:
city = "Rome"
last_index = len(city) - 1
print(city[last_index])
# ============================================================
# 9. Scorrere una stringa con un ciclo for e indicizzazione
# ============================================================
# Mostrare come accedere ogni carattere con l’indice
# Esempio:
word = "Bread"
for i in range(len(word)):
print(i, word[i])
# ============================================================
# 10. Differenza tra len() e ultimo indice
# ============================================================
# Ricordare che:
# len(stringa) → numero elementi
# ultimo indice → len(stringa) - 1
# Esempio dimostrativo:
s = "Milk"
print(len(s)) # 4
print(s[3]) # 'k'