Python: задачки и вопросы
7.54K subscribers
1.25K photos
1 video
1 file
111 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
🧩 Что выведет код?
Anonymous Quiz
1%
1
7%
2
71%
3
21%
Error
3👍1👎1
Булевы значения могут автоматически преобразовываться в числовые типы при выполнении арифметических операций.

Любанович Б., «Простой Python», глава 3:

«Булево значение 𝙵𝚊𝚕𝚜𝚎 рассматривается как 𝟶 или 𝟶.𝟶, когда смешивается с целыми числами или числами с плавающей точкой, а 𝚃𝚛𝚞𝚎 — как 𝟷 или 𝟷.𝟶»

В данном случае:
🔘 𝚃𝚛𝚞𝚎 автоматически преобразуется в 𝟷
🔘 Выполняется операция: 𝟷 + 𝟸 = 𝟹
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎1
🧩 Исполнится ли код без ошибок?
Anonymous Quiz
73%
Да
27%
Нет
Из документации Python:

'𝙰𝚗 𝚎𝚡𝚙𝚛𝚎𝚜𝚜𝚒𝚘𝚗 𝚒𝚗 𝚙𝚊𝚛𝚎𝚗𝚝𝚑𝚎𝚜𝚎𝚜, 𝚜𝚚𝚞𝚊𝚛𝚎 𝚋𝚛𝚊𝚌𝚔𝚎𝚝𝚜 𝚘𝚛 𝚌𝚞𝚛𝚕𝚢 𝚋𝚛𝚊𝚌𝚎𝚜 𝚌𝚊𝚗 𝚋𝚎 𝚜𝚙𝚕𝚒𝚝 𝚘𝚟𝚎𝚛 𝚖𝚘𝚛𝚎 𝚝𝚑𝚊𝚗 𝚘𝚗𝚎 𝚙𝚑𝚢𝚜𝚒𝚌𝚊𝚕 𝚕𝚒𝚗𝚎 𝚠𝚒𝚝𝚑𝚘𝚞𝚝 𝚞𝚜𝚒𝚗𝚐 𝚋𝚊𝚌𝚔𝚜𝚕𝚊𝚜𝚑𝚎𝚜'.


«Выражение в скобках может быть разделено на несколько строк без использования символа обратного слеша»

В данном коде Python автоматически интерпретирует переносы строк внутри скобок как продолжение выражения. В итоге вычисляется арифметическое выражение: 𝟷 + 𝟸 + 𝟹 + 𝟺 = 𝟷𝟶.
👍1
🧩 Что выведет код?
Anonymous Quiz
84%
True
5%
False
3%
7
9%
Error
В Python можно использовать множественные операторы сравнения в одной цепочке. Выражение «𝟻 < 𝚡 < 𝟷𝟶 < 𝟿𝟿𝟿» эквивалентно «(𝟻 < 𝚡) 𝚊𝚗𝚍 (𝚡 < 𝟷𝟶) 𝚊𝚗𝚍 (𝟷𝟶 < 𝟿𝟿𝟿)».

Поскольку 𝚡 = 𝟽:
— 𝟻 < 𝟽 = 𝚃𝚛𝚞𝚎;
− 𝟽 < 𝟷𝟶 = 𝚃𝚛𝚞𝚎;
− 𝟷𝟶 < 𝟿𝟿𝟿 = 𝚃𝚛𝚞𝚎.

Все условия выполняются, поэтому результат выражения 𝚃𝚛𝚞𝚎.

В Python цепочки сравнений выполняются слева направо и объединяются оператором «𝚊𝚗𝚍». Если любое из сравнений возвращает 𝙵𝚊𝚕𝚜𝚎, то и вся цепочка возвращает 𝙵𝚊𝚕𝚜𝚎.
3