Операторы принадлежности `in` и `not in` — это мощные инструменты в Python для проверки, содержится ли определенный элемент в последовательности. Последовательностью может быть строка, список, кортеж или даже ключи словаря. В этом наборе заданий мы начнем с самых основ: научимся находить символы в строке. Затем перейдем к более сложным структурам, таким как списки и словари, и разберемся, как эти операторы ведут себя в разных ситуациях. Вы научитесь писать код, который сможет быстро проверить наличие нужных данных, что является одной из самых частых задач в программировании.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Простая проверка вхождения в строку
Проанализируйте код. Оператор `in` проверяет, является ли левый операнд (подстрока) частью правого операнда (строки). Что выведет программа в результате этой проверки?
print('world' in 'Hello world')Проверка отсутствия в списке
Внимательно изучите код. Здесь используется оператор `not in` для проверки отсутствия элемента в списке. Какой результат (логическое значение) выведет функция `print`?
numbers = [10, 20, 30, 40, 50]
result = 25 not in numbers
print(result)Заполните пропуск: проверка в кортеже
В коде создается кортеж с буквами. Ваша задача — вставить правильный оператор, чтобы проверить, содержится ли буква 'c' в этом кортеже. Программа должна вывести `True`.
letters = ('a', 'b', 'c', 'd')
is_present = 'c' input1S letters
print(is_present)Учет регистра при проверке
Операторы принадлежности чувствительны к регистру. Зная это, определите, что выведет следующий код, который ищет слово 'apple' в нижнем регистре внутри строки, где оно написано с заглавной буквы.
message = "An Apple a day keeps the doctor away."
print('apple' in message)Найдите и исправьте ошибку
В этом коде программист хотел проверить, является ли пользователь `banned_user` одним из заблокированных, но допустил ошибку в условной конструкции. Исправьте строку с `if`, чтобы код работал корректно и выводил "User is banned".
banned_list = ['user_x', 'spammer_1', 'bot_3']banned_user = 'spammer_1'if banned_user is in banned_list: print("User is banned")else: print("User is allowed")Соберите код для поиска гостя
Соберите из фрагментов работающий скрипт. Он должен создать список гостей, а затем проверить, есть ли в нем 'Alice'. Если она есть, нужно вывести приветствие. Одна из строк является лишней.
print(f"Welcome, Alice!")guest_list = ['Bob', 'Charlie', 'Alice']if 'Alice' in guest_list:print(guest_list)Проверка ключей в словаре
Когда оператор `in` используется со словарем, он по умолчанию проверяет наличие ключей, а не значений. Проанализируйте код и укажите, что он выведет на экран.
product = {'name': 'Laptop', 'price': 1200}
print('price' in product)Проверка значения в словаре
Мы знаем, что `in` проверяет ключи словаря. Чтобы проверить наличие *значения*, нужно сначала получить все значения с помощью метода `.values()`. Используя элементы из банка, соберите конструкцию, которая проверит, есть ли 'Admin' среди ролей пользователей и выведет `True`.
user_roles = {'user1': 'Guest', 'user2': 'Admin', 'user3': 'Editor'}
has_admin_role = input1S input2S user_roles.input3S
print(has_admin_role)Сопоставьте выражения и их результаты
Перед вами несколько выражений с операторами `in` и `not in`. Сопоставьте каждое выражение в левой колонке с его итоговым результатом (`True` или `False`) в правой.
'a' in 'abc''d' not in ['a', 'b', 'c']'key' in {'key': 'value'}'Value' in {'key': 'value'}.values()