Python: задачки и вопросы
Kanalga Telegram’da o‘tish
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Ko'proq ko'rsatish7 125
Obunachilar
-124 soatlar
-27 kunlar
-130 kunlar
Postlar arxiv
Объяснение:
Функция
join() не меняет исходный список — она создаёт новую строку. Поэтому чтобы сохранить результат выполнения функции, его надо было присвоить переменной
По итогу мы выводим на печать изначальный список var, который никак не изменилсяОбъяснение:
Функция bool() возвращает True, если передаваемый ей аргумент не равен нулю. Строка "False" и есть подобный ненулевой аргумент
Получается, что var_one равен True, а var_two — False
Объяснение:
Здесь у нас происходит присваивание с использованием среза
lst[:]
Срез [:] представляет всю последовательность элементов списка lst. В данном случае, правая сторона присваивания () представляет пустой кортеж
Когда выполняется операция присваивания lst[:] = (), это означает, что все элементы списка lst будут заменены на элементы из пустого кортежа
Таким образом, список lst становится пустым и его новое значение становится []Объяснение:
В результате мы получим False. Это происходит из-за ограниченной точности представления чисел с плавающей точкой в компьютере. Хотя может показаться, что сумма 0.1 и 0.2 должна быть равной 0.3, на самом деле в двоичном представлении эти числа являются бесконечными дробями, что ведет к небольшим ошибкам при их складывании.
Сложив 0.1 и 0.2, мы получаем число, очень близкое к 0.3, но не точно равное ему:
0.30000000000000004Как же тогда сравнивать числа с плавающей точкой в Python? Используйте функцию math.isclose() из модуля math:
import math
print(math.isclose(0.1 + 0.2, 0.3))
Функция math.isclose позволяет учитывать небольшие неточности вычислений, которые возникают из-за особенностей представления чисел с плавающей запятой.Объяснение:
Функция enumerate(range(2)) возвращает кортежи (индекс, значение) для каждого элемента в range(2), который содержит числа 0 и 1. Следовательно, цикл имеет два прохода:
Для x = (0, 0):
D[0] = 0 (индекс 0 соответствует значению 0)
D[7] = 0 (значение 0 плюс 7 соответствует индексу 0)
Для x = (1, 1):
D[1] = 1 (индекс 1 соответствует значению 1)
D[8] = 1 (значение 1 плюс 7 соответствует индексу 1)
Следовательно, результирующий словарь будет {0: 0, 7: 0, 1: 1, 8: 1}.
Объяснение:
Правильный ответ: s[1] = 'r'
Строки в Python неизменяемы, и вы не можете напрямую изменить их элементы. Все остальные варианты возвращают новые, измененные версии строки, оставляя исходную строку s без изменений.
У вас есть строка s = "Welcome". Какая из следующих операций с этой строкой приведёт к ошибке?
Объяснение:
Что же здесь происходит? Лучший способ узнать, попробовать поиграться с этим кодом:
print(type({{}})) # Без звёздочки
Вывод:
builtins.TypeError: unhashable type: 'dict'Когда мы не используем звёздочку, Python интерпретирует это как попытку создать вложенный словарь. Однако, вы не можете создать словарь, который содержит другой пустой словарь, так как ключи словаря должны быть хешируемыми. В результате попытка это сделать приведёт к TypeError. Но если вы используете звёздочку с пустым словарем, то Python "распакует" этот словарь, даже если там нечего распаковывать. В итоге мы получаем пустое множество (set). Вот такой вот интересный трюк. Кстати, если вы знаете что-то подобное, то делитесь в комментариях. Может викторину из этого придумаем :)
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
