Python: задачки и вопросы
前往频道在 Telegram
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
显示更多7 131
订阅者
-124 小时
+77 天
无数据30 天
帖子存档
Из документации Python:
'𝙰𝚗 𝚎𝚡𝚙𝚛𝚎𝚜𝚜𝚒𝚘𝚗 𝚒𝚗 𝚙𝚊𝚛𝚎𝚗𝚝𝚑𝚎𝚜𝚎𝚜, 𝚜𝚚𝚞𝚊𝚛𝚎 𝚋𝚛𝚊𝚌𝚔𝚎𝚝𝚜 𝚘𝚛 𝚌𝚞𝚛𝚕𝚢 𝚋𝚛𝚊𝚌𝚎𝚜 𝚌𝚊𝚗 𝚋𝚎 𝚜𝚙𝚕𝚒𝚝 𝚘𝚟𝚎𝚛 𝚖𝚘𝚛𝚎 𝚝𝚑𝚊𝚗 𝚘𝚗𝚎 𝚙𝚑𝚢𝚜𝚒𝚌𝚊𝚕 𝚕𝚒𝚗𝚎 𝚠𝚒𝚝𝚑𝚘𝚞𝚝 𝚞𝚜𝚒𝚗𝚐 𝚋𝚊𝚌𝚔𝚜𝚕𝚊𝚜𝚑𝚎𝚜'.«Выражение в скобках может быть разделено на несколько строк без использования символа обратного слеша» В данном коде Python автоматически интерпретирует переносы строк внутри скобок как продолжение выражения. В итоге вычисляется арифметическое выражение: 𝟷 + 𝟸 + 𝟹 + 𝟺 = 𝟷𝟶.
Булевы значения могут автоматически преобразовываться в числовые типы при выполнении арифметических операций.
Любанович Б., «Простой Python», глава 3:
«Булево значение 𝙵𝚊𝚕𝚜𝚎 рассматривается как 𝟶 или 𝟶.𝟶, когда смешивается с целыми числами или числами с плавающей точкой, а 𝚃𝚛𝚞𝚎 — как 𝟷 или 𝟷.𝟶»
В данном случае:
🔘 𝚃𝚛𝚞𝚎 автоматически преобразуется в 𝟷
🔘 Выполняется операция: 𝟷 + 𝟸 = 𝟹
Пасхавер Б., «Pandas в действии», глава 𝟹:
«Метод 𝚟𝚊𝚕𝚞𝚎_𝚌𝚘𝚞𝚗𝚝𝚜 по умолчанию возвращает полуоткрытые интервалы, включающие одну из граничных точек и не включающие другую. Круглая скобка означает, что значение не включается в интервал. Квадратная скобка означает, что значение включается».
В данном случае:
🔘 𝚋𝚒𝚗𝚜=[𝟷, 𝟹, 𝟻] создает два интервала: (𝟶.𝟿𝟿𝟿, 𝟹.𝟶] и (𝟹.𝟶, 𝟻.𝟶];
🔘 В первый интервал попадают значения 𝟷, 𝟸 и 𝟹 (𝟹 элемента);
🔘 Во второй интервал попадают значения 𝟺 и 𝟻 (𝟸 элемента).
При размещении значений объекта 𝚂𝚎𝚛𝚒𝚎𝚜 по корзинам 𝚙𝚊𝚗𝚍𝚊𝚜 может расширить любой из диапазонов до 𝟶,𝟷% в любом направлении, поэтому левая граница первого интервала становится 𝟶.𝟿𝟿𝟿 вместо 𝟷.𝟶.
Любанович Б., «Простой Python», глава 𝟹:
«Функция 𝚒𝚗𝚝() будет преобразовывать в целые числа строки, состоящие из цифр и чисел с плавающей точкой, но не будет обрабатывать строки, содержащие десятичные точки или экспоненты».
В данном случае строка "𝟿𝟾.𝟼" содержит десятичную точку, что делает её непригодной для прямого преобразования.
Интерпретатор вызовет исключение 𝚅𝚊𝚕𝚞𝚎𝙴𝚛𝚛𝚘𝚛 с сообщением '𝚒𝚗𝚟𝚊𝚕𝚒𝚍 𝚕𝚒𝚝𝚎𝚛𝚊𝚕 𝚏𝚘𝚛 𝚒𝚗𝚝() 𝚠𝚒𝚝𝚑 𝚋𝚊𝚜𝚎 𝟷𝟶: '𝟿𝟾.𝟼'.
Для преобразования строки с десятичной точкой в целое число необходимо сначала использовать функцию 𝚏𝚕𝚘𝚊𝚝(), а затем 𝚒𝚗𝚝():
− 𝚏𝚕𝚘𝚊𝚝("𝟿𝟾.𝟼") → 𝟿𝟾.𝟼
− 𝚒𝚗𝚝(𝟿𝟾.𝟼) → 𝟿𝟾
Можно одной строкой: 𝚒𝚗𝚝(𝚏𝚕𝚘𝚊𝚝(«𝟿𝟾.𝟼»)) → 𝟿𝟾
Оператор возведения в степень (∗∗) имеет более высокий приоритет, чем унарный минус (−). Поэтому выражение −𝟻 ∗∗ 𝟸 интерпретируется как −(𝟻 ∗∗ 𝟸).
🔘 Сначала выполняется 𝟻 ∗∗ 𝟸 = 𝟸𝟻
🔘 Затем применяется унарный минус: −(𝟸𝟻) = −𝟸𝟻
Если возводим -5 в степень 2, используем скобки так: (−𝟻) ∗∗ 𝟸 = 𝟸𝟻.
Оператор // выполняет целочисленное деление (𝚏𝚕𝚘𝚘𝚛 𝚍𝚒𝚟𝚒𝚜𝚒𝚘𝚗), которое возвращает наибольшее целое число, меньшее или равное результату деления.
𝟺 помещается в 𝟷𝟹 три раза (𝟺 × 𝟹 = 𝟷𝟸), и остается остаток 𝟷. Целочисленное деление отбрасывает дробную часть и возвращает только целую часть результата.
Любанович Б., «Простой Python», глава 𝟹:
«Оператор //= является сокращенной формой записи [целочисленного деления], аналогично другим операторам присваивания».
В Python нижнее подчеркивание в числовых литералах игнорируется и служит только для улучшения читаемости кода.
Любанович Б., «Простой Python», глава 𝟹:
«Нижние подчёркивания _ будут просто проигнорированы, [их можно ставить] на любую позицию после первой цифры».
«[Если в качестве разделителя групп разрядов вы используете запятую], то вместо миллиона получите кортеж из трех значений 𝟷, 𝟶, 𝟶».
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
