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 controllo di uguaglianza o di prefisso/suffisso.

Sensibile alle maiuscole vs Insensibile alle maiuscole

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

12345
# Comparing two email addresses entered with different letter cases email_saved = "Support@Codefinity.com" email_entered = "support@codefinity.COM" print(email_saved.lower() == email_entered.lower()) # True → emails match regardless of case
copy

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

12345
# Comparing international usernames regardless of letter case username_db = "straße" username_input = "STRASSE" print(username_db.casefold() == username_input.casefold()) # True → matches even with special characters
copy

Rimuovere spazi e confrontare

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

12345
# Validating a user's role input from a form user_input = " admin " required_role = "ADMIN" print(user_input.strip().casefold() == required_role.casefold()) # True → matches after cleanup and case normalization
copy

Verifica di Prefisso e Suffisso

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

123456789
# Checking if the uploaded document has the correct format and name uploaded_file = "Report_Final.PDF" # Validate file type (case-insensitive) print(uploaded_file.lower().endswith(".pdf")) # True → valid PDF file # Validate file name prefix (e.g., all reports start with "rep") required_prefix = "rep" print(uploaded_file.strip().casefold().startswith(required_prefix.casefold())) # True → matches prefix ignoring case
copy

Pipeline di Normalizzazione Consistente

Scegliere un ordine semplice e ripetibile:

  1. Rimuovere gli spazi esterni con .strip();
  2. Standardizzare il case con .casefold() (oppure .lower() se preferito);
  3. Utilizzare quindi ==, in, startswith, endswith o altri controlli.

1. Quale riga esegue correttamente un controllo di uguaglianza case-insensitive?

2. Dato s = " Hello ", quale espressione restituisce True per un controllo di uguaglianza case-insensitive con "hello" ignorando gli spazi circostanti?

3. Quale affermazione è più accurata per un confronto robusto senza distinzione tra maiuscole e minuscole?

question mark

Quale riga esegue correttamente un controllo di uguaglianza case-insensitive?

Select the correct answer

question mark

Dato s = " Hello ", quale espressione restituisce True per un controllo di uguaglianza case-insensitive con "hello" ignorando gli spazi circostanti?

Select the correct answer

question mark

Quale affermazione è più accurata per un confronto robusto senza distinzione tra maiuscole e 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

Awesome!

Completion rate improved to 3.45

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 controllo di uguaglianza o di prefisso/suffisso.

Sensibile alle maiuscole vs Insensibile alle maiuscole

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

12345
# Comparing two email addresses entered with different letter cases email_saved = "Support@Codefinity.com" email_entered = "support@codefinity.COM" print(email_saved.lower() == email_entered.lower()) # True → emails match regardless of case
copy

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

12345
# Comparing international usernames regardless of letter case username_db = "straße" username_input = "STRASSE" print(username_db.casefold() == username_input.casefold()) # True → matches even with special characters
copy

Rimuovere spazi e confrontare

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

12345
# Validating a user's role input from a form user_input = " admin " required_role = "ADMIN" print(user_input.strip().casefold() == required_role.casefold()) # True → matches after cleanup and case normalization
copy

Verifica di Prefisso e Suffisso

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

123456789
# Checking if the uploaded document has the correct format and name uploaded_file = "Report_Final.PDF" # Validate file type (case-insensitive) print(uploaded_file.lower().endswith(".pdf")) # True → valid PDF file # Validate file name prefix (e.g., all reports start with "rep") required_prefix = "rep" print(uploaded_file.strip().casefold().startswith(required_prefix.casefold())) # True → matches prefix ignoring case
copy

Pipeline di Normalizzazione Consistente

Scegliere un ordine semplice e ripetibile:

  1. Rimuovere gli spazi esterni con .strip();
  2. Standardizzare il case con .casefold() (oppure .lower() se preferito);
  3. Utilizzare quindi ==, in, startswith, endswith o altri controlli.

1. Quale riga esegue correttamente un controllo di uguaglianza case-insensitive?

2. Dato s = " Hello ", quale espressione restituisce True per un controllo di uguaglianza case-insensitive con "hello" ignorando gli spazi circostanti?

3. Quale affermazione è più accurata per un confronto robusto senza distinzione tra maiuscole e minuscole?

question mark

Quale riga esegue correttamente un controllo di uguaglianza case-insensitive?

Select the correct answer

question mark

Dato s = " Hello ", quale espressione restituisce True per un controllo di uguaglianza case-insensitive con "hello" ignorando gli spazi circostanti?

Select the correct answer

question mark

Quale affermazione è più accurata per un confronto robusto senza distinzione tra maiuscole e minuscole?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2
some-alt