Пусть items = [0]. Какой результат даст bool(items)?
AЗначение
False из-за наличия «ложного» элемента 0 внутри переданного спискаBОшибка
TypeError при попытке вызвать bool() от объекта типа list напрямуюCЗначение
True из-за непустого списка items, даже если внутри него лежит 0DЗначение
None из-за отсутствия однозначного булева значения для списочного объектаПравильный ответ. Непустые контейнеры считаются истинными в булевом контексте.
Разбор
В булевом контексте (в if, while или при вызове bool()) контейнеры оцениваются по пустоте. Пустой список [] — это False, а непустой список [0] — это True, даже если внутри есть «ложное» значение 0.
Проверь себя · 1/3разбор после ответа
Вы пишете расчёт средней цены и хотите гарантированно получить значение с плавающей точкой, поэтому оборачиваете число в
float(2). Какой тип будет у результата такого вызова?Ещё вопросы по теме «Синтаксис и типы данных»
- Какой результат вернёт вызов `type(10)`?
- После выполнения `y = str(42)` чему равен `y` и какой у него тип?
- Какая проверка наиболее корректна и идиоматична, чтобы убедиться, что переменная `x` равна `None`?
- Чему равно значение переменной `result` после выполнения строки `result = 3 < 5`?
- Что вернёт выражение `" Python ".strip()`?
- Все вопросы по «Синтаксис и типы данных» →