Что такое итераторы/генераторы/генераторные выражения, чем они отличаются и когда и как все это нужно использовать.
Ответ
Здесь важно, чтобы кандидат понимал различие и мог с той или иной степенью погружения рассказать про эти различия. Если кратко, то итератор в Python – это любой объект, который использует метод next() для получения следующего значения последовательности. Генератор – функция, которая производит или выдает последовательность значений с использованием метода yield. Концептуально, итератор — это механизм поэлементного обхода данных, а генератор позволяет отложено создавать результат при итерации. Генератор может создавать результат на основе какого-то алгоритма или брать элементы из источника данных (коллекция, файлы, сетевое подключения и др.) и изменять их.
Подробности доступны в очень большом количестве статей с той или иной степенью погружения в детали, например, здесь.
#junior
@python_job_interview
Ответ
Здесь важно, чтобы кандидат понимал различие и мог с той или иной степенью погружения рассказать про эти различия. Если кратко, то итератор в Python – это любой объект, который использует метод next() для получения следующего значения последовательности. Генератор – функция, которая производит или выдает последовательность значений с использованием метода yield. Концептуально, итератор — это механизм поэлементного обхода данных, а генератор позволяет отложено создавать результат при итерации. Генератор может создавать результат на основе какого-то алгоритма или брать элементы из источника данных (коллекция, файлы, сетевое подключения и др.) и изменять их.
Подробности доступны в очень большом количестве статей с той или иной степенью погружения в детали, например, здесь.
#junior
@python_job_interview
👍18🔥4❤1
Условие:
Найти «счастливый» ip. Он считается счастливым, если сумма двух байтов с левой стороны равняются сумме двух байтов с правой стороны.
На вход функции всегда идёт строка с ipv4 адресом.
Пример:
is_happy_ip("255.255.255.255") -> True
is_happy_ip("0.0.0.1") -> False
is_happy_ip("101.78.170.9") -> True
P.S. 1 байт - число от 0 до 255
Делитесь своим решением в комментариях👇
def is_happy_ip(ip: str) -> bool:
g = ip.split('.')
return int(g[0])+int(g[1]) == int(g[2])+int(g[3])
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥9❤2
✔️Задача | #Junior
Условие:
Вам нужно написать функцию, которая будет обрезать строку до определённой длины и добавлять в конец троеточие. Если текст равен max_len или max_len больше длины текста, то ничего не меняем.
Пример:
❗️ Делитесь своим решением в комментариях👇
@python_job_interview
Условие:
Вам нужно написать функцию, которая будет обрезать строку до определённой длины и добавлять в конец троеточие. Если текст равен max_len или max_len больше длины текста, то ничего не меняем.
Пример:
text = "Lorem Ipsum is simply dummy text"
cut_str(text, max_len=12) -> Lorem Ipsum...
cut_str(text, max_len=40) -> Lorem Ipsum is simply dummy text
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2❤1
⚡️ Задача с собеседования |: #Junior
Условие:
Ваша задача — написать функцию, которая находит сумму всех цифр в числе. На вход также могут пойти и числа меньше нуля — их стоит переводить в неотрицательное числа.
Пример:
Знак "_" в числах может использоваться для упрощения чтения пользователем.
👉 Пишите ваше решение в комментариях👇
@python_job_interview
Условие:
Ваша задача — написать функцию, которая находит сумму всех цифр в числе. На вход также могут пойти и числа меньше нуля — их стоит переводить в неотрицательное числа.
Пример:
1234 → 10
-9876 → 30
7013 → 11
100001 → 2
Знак "_" в числах может использоваться для упрощения чтения пользователем.
1_000_000
— это то же самое, что и 1000000
👉 Пишите ваше решение в комментариях👇
@python_job_interview
👍4🔥3❤1