Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Comparing Strings | Section
Working with Numbers in Python: Integers, Floats, and Type Conversion - 1769704232138

Comparing Strings

Stryg for at vise menuen

String comparisons in Python are case-sensitive by default. If user input may vary in capitalization or include extra spaces, normalize first, then compare. A simple and reliable recipe is to trim whitespace and standardize case before any equality or prefix/suffix checks.

Case-Sensitive vs Case-Insensitive

By default, "Apple" == "apple" is False. To ignore case, normalize both sides.

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

casefold() is a stronger, international-friendly variant of lower() and is a better default for case-insensitive comparisons.

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

Trim and Compare

Users often add spaces by accident. Remove leading and trailing whitespace before comparing.

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

Prefix and Suffix Checks

Use startswith and endswith. For case-insensitive checks, normalize first.

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

Consistent Normalization Pipeline

Pick a simple, repeatable order:

  1. Strip outer whitespace with .strip();
  2. Standardize case with .casefold() (or .lower() if you prefer);
  3. Then use ==, in, startswith, endswith, or other checks.

1. Which line performs a case-insensitive equality check correctly?

2. Given s = " Hello ", which expression returns True for a case-insensitive equality check with "hello" ignoring surrounding spaces?

3. Which statement is most accurate for robust case-insensitive comparison?

question mark

Which line performs a case-insensitive equality check correctly?

Vælg det korrekte svar

question mark

Given s = " Hello ", which expression returns True for a case-insensitive equality check with "hello" ignoring surrounding spaces?

Vælg det korrekte svar

question mark

Which statement is most accurate for robust case-insensitive comparison?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 27

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 27
some-alt