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

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

@quiz_python

Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

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

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

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

Другие наши проекты: https://tprg.ru/media
Subscribers
6.91K
Photos
1.4K
Videos
1
Links
126

Showing posts older than #3209 · Back to latest

Older Posts 20 shown
Post #3206 1.37K
Объяснение:

Когда вы запускаете код, вы получите ошибку TypeError. Если быть точнее, вы увидите что-то следующее:
builtins.TypeError: greetings() missing 1 required positional argument: 'name'


Python позволяет создать две функции с одним и тем же именем. Однако Python читает функции сверху вниз, что означает, что Python заменит первую функцию на вторую. Вторая версия функции принимает аргумент, поэтому вы получаете ошибку TypeError.

Один из способов исправить этот момент — добавить аргумент в вызов функции greetings(). И всё же лучше избегать создания двух функций с одинаковыми именами.
Post #3203 1.44K
Объяснение:

Добавление новой информации в существующий файл не перезаписывая его задача распространённая

Для решения этой задачи используйте открытие файла в режиме 'a' (append), который позволяет добавлять информацию в конец файла, не перезаписывая его текущее содержимое
Post #3200 1.42K
Объяснение:

Метод readlines() открывает файл и считывает все строки в виде списка, где каждая строка является элементом этого списка:

Пример:
with open('example.txt', 'r') as file:
lines = file.readlines()
print(lines)


Если файл example.txt содержит:
Hello
World


То результат выполнения будет:
['Hello\n', 'World\n']

Таким образом, метод readlines() возвращает список строк (line), где каждая строка файла является элементом этого списка.
Post #3198 1.56K
Объяснение:

Первый шаг к пониманию того, что происходит в этом странном коде — это взглянуть на то, что нам говорит 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.
Python Enhancement Proposals (PEPs) PEP 380 – Syntax for Delegating to a Subgenerator | peps.python.org A syntax is proposed for a generator to delegate part of its operations to another generator. This allows a section of code containing ‘yield’ to be factored out and placed in another generator. Additionally, the subgenerator is allowed to return with ...
Post #3195 1.52K
Объяснение:

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

GIL (Global Interpreter Lock) — это механизм, который не позволяет более чем одному потоку одновременно выполнять нативный код Python

Это создаёт проблемы с производительностью в многопоточных программах, так как потоки не могут выполняться параллельно на разных ядрах процессора
Post #3187 1.65K
Объяснение:

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

Так как ни int, ни float таковыми не являются, то у нас здесь ошибка
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →