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 puder 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 realizar verificações de igualdade ou de prefixo/sufixo.

Sensível vs insensível a maiúsculas/minúsculas

Por padrão, "Apple" == "apple" resulta em False. Para ignorar diferenças de maiúsculas/minúsculas, normalize ambos os lados.

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

casefold() é uma variante mais robusta e compatível internacionalmente de lower(), sendo uma melhor opção padrão para comparações sem distinção entre maiúsculas e minúsculas.

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

Remover espaços e comparar

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

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

Verificações de prefixo e sufixo

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

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

Pipeline consistente de normalização

Escolha uma ordem simples e repetível:

  1. Remova espaços em branco externos com .strip();
  2. Padronize 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

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

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 puder 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 realizar verificações de igualdade ou de prefixo/sufixo.

Sensível vs insensível a maiúsculas/minúsculas

Por padrão, "Apple" == "apple" resulta em False. Para ignorar diferenças de maiúsculas/minúsculas, normalize ambos os lados.

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

casefold() é uma variante mais robusta e compatível internacionalmente de lower(), sendo uma melhor opção padrão para comparações sem distinção entre maiúsculas e minúsculas.

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

Remover espaços e comparar

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

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

Verificações de prefixo e sufixo

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

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

Pipeline consistente de normalização

Escolha uma ordem simples e repetível:

  1. Remova espaços em branco externos com .strip();
  2. Padronize 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