Python: задачки и вопросы
前往频道在 Telegram
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
显示更多6 858
订阅者
-124 小时
-147 天
-4830 天
帖子存档
Объяснение:
В данном случае
i равняется не 2, как могло бы показаться, а 2.0. Деление без остатка в Python выполняется с помощью //, а не /
По итогу в print() мы получаем не str_[2], а str_[2.0], что является ошибкой — индексом можем выступать лишь целочисленное значениеОбъяснение:
Функция
func() устанавливает значение атрибута ecole равным 42 и затем возвращает саму себя (функцию func)
Затем в строке print(func().ecole) происходит вызов функции func() и получение её атрибута ecole
Достигается это за счёт атрибута __dict__Объяснение:
Когда вы запускаете код, вы получите ошибку TypeError. Если быть точнее, вы увидите что-то следующее:
builtins.TypeError: greetings() missing 1 required positional argument: 'name'Python позволяет создать две функции с одним и тем же именем. Однако Python читает функции сверху вниз, что означает, что Python заменит первую функцию на вторую. Вторая версия функции принимает аргумент, поэтому вы получаете ошибку TypeError. Один из способов исправить этот момент — добавить аргумент в вызов функции greetings(). И всё же лучше избегать создания двух функций с одинаковыми именами.
Объяснение:
Добавление новой информации в существующий файл не перезаписывая его задача распространённая
Для решения этой задачи используйте открытие файла в режиме
'a' (append), который позволяет добавлять информацию в конец файла, не перезаписывая его текущее содержимоеМы используем ______ для добавления данных в файл c:\scores.txt, не удаляя при этом существующее содержимое
Мы используем ______ для добавления данных в файл c:\scores.txt.
Объяснение:
Метод readlines() открывает файл и считывает все строки в виде списка, где каждая строка является элементом этого списка:
Пример:
with open('example.txt', 'r') as file:
lines = file.readlines()
print(lines)
Если файл example.txt содержит:
Hello
World
То результат выполнения будет:
['Hello\n', 'World\n']Таким образом, метод readlines() возвращает список строк (line), где каждая строка файла является элементом этого списка.
Объяснение:
Первый шаг к пониманию того, что происходит в этом странном коде — это взглянуть на то, что нам говорит PEP 380⁴⁰ об использовании return с yield. Кратко говоря, return expr в генераторе вызывает исключение StopIteration(expr) при выходе из генератора.
В данном случае исключение StopIteration происходит при выполнении функции my_func(), когда используется оператор return. Это исключение перехватывается вызовом функции list() в конце кода.
Когда происходит исключение, значение ["Python"] не возвращается, а функция list() возвращает пустой список.
Если вы хотите получить ["Python"] из этого кода, нужно изменить вызов функции, используя next() и обернув его в обработчик исключений:
def my_func(value):
if value == 5:
return ["Python"]
else:
yield from range(value)
try:
next(my_func(5))
except StopIteration as exception:
print(f"StopIteration пойман! {exception.value = }")
Этот код удаляет вызов list(), который автоматически перехватывает исключение StopIteration, и использует функцию next(). Функция next() не перехватывает исключение StopIteration, поэтому необходимо обернуть этот вызов конструкцией try/except, чтобы самостоятельно обработать это исключение. А для получения значения из исключения можно воспользоваться атрибутом value объекта exception.Объяснение:
Функция
func() реализует рекурсивное вычисление факториала числа n. Факториал числа определяется как произведение всех натуральных чисел от 1 до n включительно. Факториал 0 равен 1 по определению