Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Порівняння Рядків | Взаємодія Між Різними Типами Даних
Типи даних у Python

bookПорівняння Рядків

Порівняння рядків у Python за замовчуванням є чутливим до регістру. Якщо введення користувача може відрізнятися за регістром або містити зайві пробіли, спочатку нормалізуйте рядки, а потім порівнюйте. Надійний підхід — обрізати пробіли та уніфікувати регістр перед перевіркою на рівність або наявність префікса/суфікса.

Чутливість до регістру та ігнорування регістру

За замовчуванням "Apple" == "apple" повертає False. Щоб ігнорувати регістр, нормалізуйте обидві сторони.

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() — потужніший, міжнародний варіант lower(), який є кращим вибором для порівнянь без урахування регістру.

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

Обрізання та порівняння

Користувачі часто випадково додають пробіли. Видаляйте початкові та кінцеві пробіли перед порівнянням.

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

Перевірка префікса та суфікса

Використовуйте startswith та endswith. Для нечутливих до регістру перевірок спочатку нормалізуйте рядок.

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

Послідовний процес нормалізації

Виберіть простий, повторюваний порядок:

  1. Видалення зовнішніх пробілів за допомогою .strip();
  2. Уніфікація регістру за допомогою .casefold() (або .lower(), якщо бажаєте);
  3. Далі використовуйте ==, in, startswith, endswith або інші перевірки.

1. Який рядок правильно виконує регістронезалежну перевірку на рівність?

2. Дано s = " Hello ". Який вираз поверне True для регістронезалежної перевірки рівності з "hello", ігноруючи зовнішні пробіли?

3. Яке твердження є найбільш точним для надійного порівняння без урахування регістру?

question mark

Який рядок правильно виконує регістронезалежну перевірку на рівність?

Select the correct answer

question mark

Дано s = " Hello ". Який вираз поверне True для регістронезалежної перевірки рівності з "hello", ігноруючи зовнішні пробіли?

Select the correct answer

question mark

Яке твердження є найбільш точним для надійного порівняння без урахування регістру?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

bookПорівняння Рядків

Свайпніть щоб показати меню

Порівняння рядків у Python за замовчуванням є чутливим до регістру. Якщо введення користувача може відрізнятися за регістром або містити зайві пробіли, спочатку нормалізуйте рядки, а потім порівнюйте. Надійний підхід — обрізати пробіли та уніфікувати регістр перед перевіркою на рівність або наявність префікса/суфікса.

Чутливість до регістру та ігнорування регістру

За замовчуванням "Apple" == "apple" повертає False. Щоб ігнорувати регістр, нормалізуйте обидві сторони.

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() — потужніший, міжнародний варіант lower(), який є кращим вибором для порівнянь без урахування регістру.

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

Обрізання та порівняння

Користувачі часто випадково додають пробіли. Видаляйте початкові та кінцеві пробіли перед порівнянням.

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

Перевірка префікса та суфікса

Використовуйте startswith та endswith. Для нечутливих до регістру перевірок спочатку нормалізуйте рядок.

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

Послідовний процес нормалізації

Виберіть простий, повторюваний порядок:

  1. Видалення зовнішніх пробілів за допомогою .strip();
  2. Уніфікація регістру за допомогою .casefold() (або .lower(), якщо бажаєте);
  3. Далі використовуйте ==, in, startswith, endswith або інші перевірки.

1. Який рядок правильно виконує регістронезалежну перевірку на рівність?

2. Дано s = " Hello ". Який вираз поверне True для регістронезалежної перевірки рівності з "hello", ігноруючи зовнішні пробіли?

3. Яке твердження є найбільш точним для надійного порівняння без урахування регістру?

question mark

Який рядок правильно виконує регістронезалежну перевірку на рівність?

Select the correct answer

question mark

Дано s = " Hello ". Який вираз поверне True для регістронезалежної перевірки рівності з "hello", ігноруючи зовнішні пробіли?

Select the correct answer

question mark

Яке твердження є найбільш точним для надійного порівняння без урахування регістру?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 2
some-alt