Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Comparando Strings | Interações Entre Tipos Diferentes
Tipos de Dados em Python

bookComparando Strings

Comparações de strings em Python são sensíveis a maiúsculas e minúsculas por padrão. Se a entrada do usuário pode variar em capitalização ou incluir espaços extras, normalize antes de comparar. Uma abordagem simples e confiável é remover espaços em branco e padronizar o uso de maiúsculas/minúsculas antes de qualquer verificação de igualdade ou de prefixo/sufixo.

Sensível vs Insensível a Maiúsculas/Minúsculas

Por padrão, "Apple" == "apple" é False. Para ignorar maiúsculas/minúsculas, normalize ambos os lados.

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() é uma variante mais robusta e internacionalizada de lower(), sendo uma escolha melhor para comparações sem distinção entre maiúsculas e minúsculas.

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

Remover espaços e comparar

Usuários frequentemente adicionam espaços acidentalmente. Remover espaços em branco no início e no final antes de comparar.

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ções de Prefixo e Sufixo

Utilize startswith e endswith. Para verificações sem distinção de maiúsculas e minúsculas, normalize antes.

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 de Normalização Consistente

Escolha uma ordem simples e repetível:

  1. Remover espaços em branco externos com .strip();
  2. Padronizar o uso de maiúsculas/minúsculas com .casefold() (ou .lower() se preferir);
  3. Em seguida, utilize ==, in, startswith, endswith ou outras verificações.

1. Qual linha realiza corretamente uma verificação de igualdade sem diferenciar maiúsculas de minúsculas?

2. Dado s = " Hello ", qual expressão retorna True para uma verificação de igualdade sem diferenciar maiúsculas de minúsculas com "hello", ignorando espaços ao redor?

3. Qual afirmação é mais precisa para uma comparação robusta sem distinção entre maiúsculas e minúsculas?

question mark

Qual linha realiza corretamente uma verificação de igualdade sem diferenciar maiúsculas de minúsculas?

Select the correct answer

question mark

Dado s = " Hello ", qual expressão retorna True para uma verificação de igualdade sem diferenciar maiúsculas de minúsculas com "hello", ignorando espaços ao redor?

Select the correct answer

question mark

Qual afirmação é mais precisa para uma comparação robusta sem distinção entre maiúsculas e minúsculas?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 3.45

bookComparando Strings

Deslize para mostrar o menu

Comparações de strings em Python são sensíveis a maiúsculas e minúsculas por padrão. Se a entrada do usuário pode variar em capitalização ou incluir espaços extras, normalize antes de comparar. Uma abordagem simples e confiável é remover espaços em branco e padronizar o uso de maiúsculas/minúsculas antes de qualquer verificação de igualdade ou de prefixo/sufixo.

Sensível vs Insensível a Maiúsculas/Minúsculas

Por padrão, "Apple" == "apple" é False. Para ignorar maiúsculas/minúsculas, normalize ambos os lados.

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() é uma variante mais robusta e internacionalizada de lower(), sendo uma escolha melhor para comparações sem distinção entre maiúsculas e minúsculas.

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

Remover espaços e comparar

Usuários frequentemente adicionam espaços acidentalmente. Remover espaços em branco no início e no final antes de comparar.

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ções de Prefixo e Sufixo

Utilize startswith e endswith. Para verificações sem distinção de maiúsculas e minúsculas, normalize antes.

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 de Normalização Consistente

Escolha uma ordem simples e repetível:

  1. Remover espaços em branco externos com .strip();
  2. Padronizar o uso de maiúsculas/minúsculas com .casefold() (ou .lower() se preferir);
  3. Em seguida, utilize ==, in, startswith, endswith ou outras verificações.

1. Qual linha realiza corretamente uma verificação de igualdade sem diferenciar maiúsculas de minúsculas?

2. Dado s = " Hello ", qual expressão retorna True para uma verificação de igualdade sem diferenciar maiúsculas de minúsculas com "hello", ignorando espaços ao redor?

3. Qual afirmação é mais precisa para uma comparação robusta sem distinção entre maiúsculas e minúsculas?

question mark

Qual linha realiza corretamente uma verificação de igualdade sem diferenciar maiúsculas de minúsculas?

Select the correct answer

question mark

Dado s = " Hello ", qual expressão retorna True para uma verificação de igualdade sem diferenciar maiúsculas de minúsculas com "hello", ignorando espaços ao redor?

Select the correct answer

question mark

Qual afirmação é mais precisa para uma comparação robusta sem distinção entre maiúsculas e minúsculas?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2
some-alt