Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Confronto tra Stringhe | Interazioni tra Tipi Diversi
Tipi di Dati in Python

bookConfronto tra Stringhe

I confronti tra stringhe in Python sono sensibili alle maiuscole e minuscole per impostazione predefinita. Se l'input dell'utente può variare in capitalizzazione o includere spazi aggiuntivi, normalizzare prima e poi confrontare. Una procedura semplice e affidabile consiste nel rimuovere gli spazi bianchi e standardizzare il caso prima di qualsiasi verifica di uguaglianza o di prefisso/suffisso.

Sensibile alle maiuscole/minuscole vs insensibile

Per impostazione predefinita, "Apple" == "apple" restituisce False. Per ignorare il caso, normalizzare entrambi i lati.

123
a = "Hello" b = "heLLo" print(a.lower() == b.lower()) # True
copy

casefold() è una variante più potente e adatta a livello internazionale di lower() ed è una scelta migliore per confronti insensibili alle maiuscole/minuscole.

123
s1 = "straße" s2 = "STRASSE" print(s1.casefold() == s2.casefold()) # True
copy

Rimuovere spazi e confrontare

Gli utenti spesso aggiungono spazi per errore. Rimuovere gli spazi iniziali e finali prima del confronto.

123
raw = " admin " role = "ADMIN" print(raw.strip().casefold() == role.casefold()) # True
copy

Verifica di prefissi e suffissi

Utilizzo di startswith ed endswith. Per controlli senza distinzione tra maiuscole e minuscole, normalizzare prima.

1234
fname = "Report_Final.PDF" print(fname.lower().endswith(".pdf")) # True prefix = "rep" print(fname.strip().casefold().startswith(prefix.casefold())) # True
copy

Pipeline di normalizzazione coerente

Scegli un ordine semplice e ripetibile:

  1. Rimuovere gli spazi esterni con .strip();
  2. Standardizzare il maiuscolo/minuscolo con .casefold() (oppure .lower() se preferisci);
  3. Poi utilizzare ==, in, startswith, endswith o altri controlli.

1. Quale riga esegue correttamente un controllo di uguaglianza senza distinzione tra maiuscole e minuscole?

2. Dato s = " Hello ", quale espressione restituisce True per un controllo di uguaglianza senza distinzione tra maiuscole e minuscole con "hello" ignorando gli spazi circostanti?

3. Quale affermazione è più accurata per un confronto insensibile alle maiuscole/minuscole?

question mark

Quale riga esegue correttamente un controllo di uguaglianza senza distinzione tra maiuscole e minuscole?

Select the correct answer

question mark

Dato s = " Hello ", quale espressione restituisce True per un controllo di uguaglianza senza distinzione tra maiuscole e minuscole con "hello" ignorando gli spazi circostanti?

Select the correct answer

question mark

Quale affermazione è più accurata per un confronto insensibile alle maiuscole/minuscole?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain the difference between `lower()` and `casefold()` in more detail?

Are there any situations where `casefold()` might not be appropriate?

Can you show more examples of normalizing user input before comparison?

Awesome!

Completion rate improved to 5

bookConfronto tra Stringhe

Scorri per mostrare il menu

I confronti tra stringhe in Python sono sensibili alle maiuscole e minuscole per impostazione predefinita. Se l'input dell'utente può variare in capitalizzazione o includere spazi aggiuntivi, normalizzare prima e poi confrontare. Una procedura semplice e affidabile consiste nel rimuovere gli spazi bianchi e standardizzare il caso prima di qualsiasi verifica di uguaglianza o di prefisso/suffisso.

Sensibile alle maiuscole/minuscole vs insensibile

Per impostazione predefinita, "Apple" == "apple" restituisce False. Per ignorare il caso, normalizzare entrambi i lati.

123
a = "Hello" b = "heLLo" print(a.lower() == b.lower()) # True
copy

casefold() è una variante più potente e adatta a livello internazionale di lower() ed è una scelta migliore per confronti insensibili alle maiuscole/minuscole.

123
s1 = "straße" s2 = "STRASSE" print(s1.casefold() == s2.casefold()) # True
copy

Rimuovere spazi e confrontare

Gli utenti spesso aggiungono spazi per errore. Rimuovere gli spazi iniziali e finali prima del confronto.

123
raw = " admin " role = "ADMIN" print(raw.strip().casefold() == role.casefold()) # True
copy

Verifica di prefissi e suffissi

Utilizzo di startswith ed endswith. Per controlli senza distinzione tra maiuscole e minuscole, normalizzare prima.

1234
fname = "Report_Final.PDF" print(fname.lower().endswith(".pdf")) # True prefix = "rep" print(fname.strip().casefold().startswith(prefix.casefold())) # True
copy

Pipeline di normalizzazione coerente

Scegli un ordine semplice e ripetibile:

  1. Rimuovere gli spazi esterni con .strip();
  2. Standardizzare il maiuscolo/minuscolo con .casefold() (oppure .lower() se preferisci);
  3. Poi utilizzare ==, in, startswith, endswith o altri controlli.

1. Quale riga esegue correttamente un controllo di uguaglianza senza distinzione tra maiuscole e minuscole?

2. Dato s = " Hello ", quale espressione restituisce True per un controllo di uguaglianza senza distinzione tra maiuscole e minuscole con "hello" ignorando gli spazi circostanti?

3. Quale affermazione è più accurata per un confronto insensibile alle maiuscole/minuscole?

question mark

Quale riga esegue correttamente un controllo di uguaglianza senza distinzione tra maiuscole e minuscole?

Select the correct answer

question mark

Dato s = " Hello ", quale espressione restituisce True per un controllo di uguaglianza senza distinzione tra maiuscole e minuscole con "hello" ignorando gli spazi circostanti?

Select the correct answer

question mark

Quale affermazione è più accurata per un confronto insensibile alle maiuscole/minuscole?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2
some-alt