Операторы принадлежности (in, not in)

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

Операторы принадлежности `in` и `not in` — это мощные инструменты в Python для проверки, содержится ли определенный элемент в последовательности. Последовательностью может быть строка, список, кортеж или даже ключи словаря. В этом наборе заданий мы начнем с самых основ: научимся находить символы в строке. Затем перейдем к более сложным структурам, таким как списки и словари, и разберемся, как эти операторы ведут себя в разных ситуациях. Вы научитесь писать код, который сможет быстро проверить наличие нужных данных, что является одной из самых частых задач в программировании.

Список тем

Простая проверка вхождения в строку

id: 39965_task_in_1

Проанализируйте код. Оператор `in` проверяет, является ли левый операнд (подстрока) частью правого операнда (строки). Что выведет программа в результате этой проверки?

Выберите правильный вариант ответа
print('world' in 'Hello world')
Сообщения
Проверить
Показать подсказку

Проверка отсутствия в списке

id: 39965_task_in_2

Внимательно изучите код. Здесь используется оператор `not in` для проверки отсутствия элемента в списке. Какой результат (логическое значение) выведет функция `print`?

Что должно получиться?
numbers = [10, 20, 30, 40, 50]
result = 25 not in numbers
print(result)
Сообщения
Проверить
Показать подсказку

Заполните пропуск: проверка в кортеже

id: 39965_task_in_3

В коде создается кортеж с буквами. Ваша задача — вставить правильный оператор, чтобы проверить, содержится ли буква 'c' в этом кортеже. Программа должна вывести `True`.

Заполните пропуски
letters = ('a', 'b', 'c', 'd')
is_present = 'c' input1S letters
print(is_present)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Учет регистра при проверке

id: 39965_task_in_4

Операторы принадлежности чувствительны к регистру. Зная это, определите, что выведет следующий код, который ищет слово 'apple' в нижнем регистре внутри строки, где оно написано с заглавной буквы.

Выберите правильный вариант ответа
message = "An Apple a day keeps the doctor away."
print('apple' in message)
Сообщения
Проверить
Показать подсказку

Найдите и исправьте ошибку

id: 39965_task_in_5

В этом коде программист хотел проверить, является ли пользователь `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")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите код для поиска гостя

id: 39965_task_in_6

Соберите из фрагментов работающий скрипт. Он должен создать список гостей, а затем проверить, есть ли в нем 'Alice'. Если она есть, нужно вывести приветствие. Одна из строк является лишней.

Перетяните в правильном порядке строки из одного блока в другой
print(f"Welcome, Alice!")
guest_list = ['Bob', 'Charlie', 'Alice']
if 'Alice' in guest_list:
print(guest_list)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Проверка ключей в словаре

id: 39965_task_in_7

Когда оператор `in` используется со словарем, он по умолчанию проверяет наличие ключей, а не значений. Проанализируйте код и укажите, что он выведет на экран.

Выберите правильный вариант ответа
product = {'name': 'Laptop', 'price': 1200}
print('price' in product)
Сообщения
Проверить
Показать подсказку

Проверка значения в словаре

id: 39965_task_in_8

Мы знаем, что `in` проверяет ключи словаря. Чтобы проверить наличие *значения*, нужно сначала получить все значения с помощью метода `.values()`. Используя элементы из банка, соберите конструкцию, которая проверит, есть ли 'Admin' среди ролей пользователей и выведет `True`.

Нужно правильно расставить в пропуски предложенные варианты
user_roles = {'user1': 'Guest', 'user2': 'Admin', 'user3': 'Editor'}
has_admin_role = input1S input2S user_roles.input3S
print(has_admin_role)
'Admin'
keys()
in
.keys()
values()
not in
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сопоставьте выражения и их результаты

id: 39965_task_in_9

Перед вами несколько выражений с операторами `in` и `not in`. Сопоставьте каждое выражение в левой колонке с его итоговым результатом (`True` или `False`) в правой.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
'a' in 'abc'
'd' not in ['a', 'b', 'c']
'key' in {'key': 'value'}
'Value' in {'key': 'value'}.values()
True
False
True
True
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру