ch
Feedback
Python: задачки и вопросы

Python: задачки и вопросы

前往频道在 Telegram

Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media

显示更多
7 125
订阅者
-124 小时
-27
-130
帖子存档
Объяснение: Добавление новой информации в существующий файл не перезаписывая его задача распространённая Для решения этой задачи используйте открытие файла в режиме 'a' (append), который позволяет добавлять информацию в конец файла, не перезаписывая его текущее содержимое

Мы используем ______ для добавления данных в файл c:\scores.txt, не удаляя при этом существующее содержимое
Anonymous voting

Мы используем ______ для добавления данных в файл c:\scores.txt.
Anonymous voting

Объяснение: Метод readlines() открывает файл и считывает все строки в виде списка, где каждая строка является элементом этого списка: Пример:
with open('example.txt', 'r') as file:
    lines = file.readlines()
    print(lines)
Если файл example.txt содержит:
Hello
World
То результат выполнения будет:
['Hello\n', 'World\n']
Таким образом, метод readlines() возвращает список строк (line), где каждая строка файла является элементом этого списка.

Метод readlines() возвращает______
Anonymous voting

Объяснение: Первый шаг к пониманию того, что происходит в этом странном коде — это взглянуть на то, что нам говорит 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.

Каким будет результат выполнения кода выше?
Anonymous voting

Объяснение: Функция func() реализует рекурсивное вычисление факториала числа n. Факториал числа определяется как произведение всех натуральных чисел от 1 до n включительно. Факториал 0 равен 1 по определению

Каким будет результат выполнения кода выше?
Anonymous voting

Объяснение: GIL (Global Interpreter Lock) — это механизм, который не позволяет более чем одному потоку одновременно выполнять нативный код Python Это создаёт проблемы с производительностью в многопоточных программах, так как потоки не могут выполняться параллельно на разных ядрах процессора

GIL (Global Interpreter Lock) в Python — это механизм,
Anonymous voting

Каким будет результат выполнения кода выше?
Anonymous voting

Объяснение: sum(iterable, start) — функция sum() принимает на вход лишь итерируемые объекты, то есть объекты, которые способны возвращать элементы по одному Так как ни int, ни float таковыми не являются, то у нас здесь ошибка

Каким будет результат выполнения кода выше?
Anonymous voting

Объяснение: Что же возвращает метод строки find()? Самый быстрый способ это узнать — прочитать документацию. Согласно документации по Python, если подстрока не найдена, find() возвращает -1. С этим знанием в голове, попробуйте выполнить следующий код:
print(bool(-1)) # выведет:True
Как видите, при преобразовании -1 в логическое значение (Boolean), оно возвращается как True. Поэтому в приведенном выше коде, когда подстрока "C++" отсутствует, метод find() возвращает -1, что оценивается как True, и поэтому выводится: "Found C++!".

Каким будет результат выполнения кода выше?
Anonymous voting