25092
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer. Реклама: @anothertechrock РКН: https://rknn.link/car
Ответ к задаче "Остаться в живых"
Мудрецам нужно договориться следующим образом.
Последний в шеренге мудрец посчитает количество черных колпаков впереди себя. Если количество будет четным, он заявит, что на нем черный колпак, а если нечетным, то скажет, что колпак белый. Точного ответа он все равно не знает, поэтому отвечает так, как условились.
Допустим, число было четным, и он сказал, что колпак черный. Если угадал - остался в живых, не угадал - значит, не повезло.
Предпоследний мудрец слышит этот ответ и считает количество черных колпаков впереди себя. Если количество осталось четным, значит, он точно знает, что на нем белый колпак. Если количество нечетное, значит, колпак черный. Точно также поступают и остальные мудрецы.
В наихудшем будет казнен только один мудрец: тот, который отвечал первый. В наилучшем - все останутся живы.
#логическаязадача
Машинное обучение. Обработка изображений при помощи Pillow
В настоящее время Python является одним из наиболее распространенных языков программирования в мире. Используя его простой синтаксис, можно выполнять различные функции и задачи. Одна из них — автоматическая обработка цифровых изображений, которая может быть выполнена с помощью бибиотеки Pillow.
Книги по ML - @maschinelearning
#ml
Топ. Создание Android-приложения с помощью Python Kivy
Если вы являетесь Python-разработчиком и подумываете заняться мобильной разработкой, то фреймворк Kivy — это отличный выбор для вас. С помощью Kivy можно создавать платформонезависимые приложения, компилируемые под iOS, Android, Windows, MacOS и Linux.
#топ
Задача для новичков
Напишите функцию isPerfectSquare(), которая определяет, является ли число, поданное в качестве аргумента, полным квадратом другого числа. В этом случае функция должна возвращать True, в противном случае - False.
Пользоваться встроенными функциями типа sqrt(), pow(), **0.5 запрещается.
Примры работы данной функции:isPerfectSquare(16) --> TrueПрисылайте ваше решения в комментарии к этому посту. Решение - сегодня вечером.
isPerfectSquare(20) --> False
isPerfectSquare(121) --> True
#pythonзадача #coбес
Модули. Библиотека Requests Python
Изучение работы с запросами в Python является частью пути любого начинающего разработчика. В этом туториале мы расскажем о базовых принципах и вариантах использования библиотеки Requests.
#модули
Задача с кодом. Больше, чем сумма?
Напишите функцию, которая будет принимать список чисел и проверять, является ли каждое число больше суммы всех предыдущих чисел. Если все числа в списке успешно пройдут проверку, функция должна вернуть True, в противном случае — False.
Примечание: первое число в списке всегда проходит проверку.
Примеры:
greater_than_sum([2, 3, 7, 13, 28]) ➞ TrueРешение на нашем сайте.
# 3 > 2 = True
# 7 > 2 + 3 = True
# 13 > 2 + 3 + 7 = True
# 28 > 2 + 3 + 7 + 13 = True
greater_than_sum([1, 2, 4, 6, 13]) ➞ False
# 2 > 1 = True
# 4 > 1 + 2 = True
# 6 > 1 + 2 + 4 = False
# 13 > 1 + 2 + 4 + 6 = False
Тест. Логический тип данных
Проверьте, насколько хорошо вы знакомы с булевыми значениями. Пройдите этот тест 10 вопросов!
#тест
Машинное обучение. Нововведения PyTorch 2.0
В PyTorch 2.0 были внесены фундаментальные изменения в основные операции компилятора, сохраняя при этом тот же уровень знакомства и удобства для разработчиков. Это последнее обновление обещает ускоренную производительность и расширенную поддержку для динамических форм и распределенного обучения.
Книги по ML - @maschinelearning
#ml
Задача на логику. Судебная головоломка
Двоих людей обвиняют в совместном преступлении. Если оба признают себя виновными, каждый получит легкое наказание. Если это сделает один, а второй нет, то первого освободят, а второго подвергнут суровому наказанию. Если оба не признают своей вины, их обоих освободят от наказания.
Почему с точки зрения отдельного обвиняемого лучше признаться, а с точки зрения обоих - не делать этого?
Излагайте свои рассуждения в комментариях!
#логическаязадача
28 сентября, 19:00
Selectel Python Meetup. Три уровня погружения: процессы под капотом, архитектура кода, развитие языка
Ребята из Selectel проводят митап для Python-разработчиков, где расскажут о сборе метрик и мониторинге, проектировании микросервисной архитектуры, изменениях в Python и о том, что ждет язык в будущем.
Темы докладов:
◽️ «Мультипроцессность и сбор метрик в Python: как построить мониторинг без сюрпризов», Никита Моторный, Selectel
◽️ «Заносим микросервисы и Kubernetes в облако», Александр Шишебаров, Selectel
◽️ «Такое ли светлое будущее у Python?», Денис Аникин, Райффайзенбанк
Всех, кто будет в этот день в Санкт‑Петербурге, приглашаем в офис Selectel: https://slc.tl/0y5tc
А если не сможете присоединиться лично, подключайтесь к трансляции по предварительной регистрации: https://slc.tl/dfewo
Реклама ООО «Селектел» 2VtzqusFQj2
Топ. asyncio — параллелизм в Python
Параллелизм в Python — одна из самых сложных тем для понимания, не говоря уже о реализации. Не помогает и то, что существует множество способов создания параллельных программ. Возникает куча вопросов. Нужно ли запускать несколько потоков? Использовать несколько процессов? Использовать асинхронное программирование?
Что ж, ответ здесь один — использовать тот способ, который лучше всего подходит для вашего случая. Но если вы сомневаетесь, то используйте асинхронный ввод-вывод, когда это возможно, и потоковое программирование, когда это необходимо.
В этой статье мы рассмотрим асинхронные программы как в старых версиях Python (на случай, если вы имеете дело с устаревшим кодом), так и в новых.
#топ
Ответ к предыдущей задаче для новичков
def getSum(a, b):Данное решение не работает с отрицательными числами (по условиям задачи этого и не требовалось). Подумайте, как это можно исправить.
while b != 0:
carry = a & b
a = a ^ b
b = carry << 1
return a
Машинное обучение. Pandas AI: библиотека Python для генеративного ИИ
Библиотека Pandas очень популярна на этапе предварительной обработки данных, машинного обучения и глубокого обучения. Но теперь вы можете делать с ней намного больше! Представляем вам новую библиотеку для обработки данных — Pandas AI.
Эта библиотека интегрирует возможности генеративного искусственного интеллекта в Pandas, делая классические датафреймы библиотеки Pandas диалоговыми.
Книги по ML - @maschinelearning
#ml
У Яндекс Практикума есть бесплатный курс по основам Python-разработки. Программу составили опытные разработчики и методисты, чтобы вы сами могли освоить базу Python.
На курсе вы
— узнаете, какие задачи решает бэкенд-разработчик;
— будете писать код на Python — с первого урока;
— создадите программного помощника Анфису;
— узнаете, как устроено полноценное обучение в Практикуме.
После бесплатного курса вы сможете принять спокойное, взвешенное решение.
→ Начните действовать: разберитесь бесплатно, что к чему в Python.
Задача с кодом. Число с плавающей точкой
Создайте регулярное выражение для проверки того, является ли строка валидным числом с плавающей точкой. Обратите внимание: написать нужно паттерн, а не функцию.
Примеры:
pattern = "ваш_паттерн"Решение на нашем сайте.
bool(re.match(pattern, "12.12")) ➞ True
bool(re.match(pattern, "12.")) ➞ False
bool(re.match(pattern, ".1")) ➞ True
bool(re.match(pattern, "-.1")) ➞ True
bool(re.match(pattern, "+4.4")) ➞ True
bool(re.match(pattern, "+4")) ➞ False
bool(re.match(pattern, "+4.4av")) ➞ False
Задача на логику. Остаться в живых
В одной деспотичной стране король созвал всех придворных мудрецов (количество их не принципиально, поэтому будем считать, что их 20).
Он объявил собравшимся, что завтра их всех построят в одну шеренгу и завяжут глаза. Затем каждому на голову наденут колпак черного или белого цвета и снимут повязки. Каждый сможет видеть цвет колпака стоящих впереди него, но не может видеть свой колпак и колпаки тех, кто сзади.
Каждого в шеренге спросят: "Какого цвета на тебе колпак?" Если мудрец ответит правильно, его оставят в живых. Если неправильно, значит он недостоин быть мудрецом и его казнят.
Какую стратегию надо избрать мудрецам, что как можно больше из них остались в живых? На размышления и совещания им дается ровно одна ночь.
Вам тоже дадим ночь, а ответ опубликуем утром:)
#логическаязадача
Умение работать с FastAPI является важным навыком для Python разработчиков, занимающихся веб разработкой. Этот фреймворк позволяет быстро разрабатывать надежные и эффективные веб-сервисы с автоматической генерацией документации, поддержкой асинхронной работы и встроенной валидацией данных, что упрощает процесс разработки и обеспечивает высокую производительность веб-приложений на Python.
Начните знакомство с этим инструментом с открытого урока «Создание веб-приложения на FastAPI» от OTUS. Преподаватель 👨💻 Сурен Хоренян — опытный Python-разработчик из МТС ИИ. Занятие пройдёт 🗓 28 сентября в 20:00 мск в рамках онлайн-курса «Web разработчик на Python».
На открытом уроке рассмотрим структуру проекта, аннотации типов, валидацию данных, инъекцию зависимостей при создании веб-приложения на FastAPI.
Занятие будет полезно тем, кто хочет познакомиться с фреймворком и посмотреть на валидацию данных при помощи аннотаций типов
👉 Пройдите вступительный тест для регистрации и ставьте событие в календарь, чтобы не пропустить.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Ответ к предыдущей задаче для новичков
def isPerfectSquare(num):#задача #coding Читать полностью…
if num < 1:
return False
left, right = 1, num
while left <= right:
mid = left + (right - left) // 2
square = mid * mid
if square == num:
return True
elif square < num:
left = mid + 1
else:
right = mid - 1
return False
Привет! Мы в МТС активно поддерживаем ИТ-сообщество в России и запускаем всероссийскую олимпиаду по программированию с главным призом в 3 млн рублей.
Для кого? Для школьников, студентов и действующих ИТ-специалистов.
Что будет? Блок онлайн-заданий, митапы и мастер-классы, общение в закрытом Telegram-канале и финальный очный тур с программированием на скорость. Когда олимпиада завершится, мы создадим True Tech Community, где будем делиться полезными и эксклюзивными материалами для разработчиков.
А что еще? Финалистов ждет afterparty, фестиваль технологий, интерактив, квесты, карьерные стенды, где лучшие специалисты смогут получить оффер от МТС.
Регистрация уже открыта! Подробности по ссылке. Ждем тебя!
Реклама. ПАО "МТС". ИНН 7740000076. erid: LjN8KGPgL
Задача на логику. Три подозрительных матроса и дележка бананов
Трое матросов и обезьянка выбрались на берег безлюдного тропического острова. Весь день они бродили по острову, собирая бананы, и в итоге собрали достойное количество: примерно от 50 до 100 бананов. Матросы договорились поделить бананы поровну утром (на троих, обезьянка не в счет).
Ночью один матрос, опасаясь обмана со стороны товарищей, встал, отделил свою треть бананов и перепрятал ее. Бананы ровно на 3 не делились, оставался 1 лишний: его матрос отдал мартышке.
Точно так же поступили по очереди все три матроса.
Утром куча бананов солидно уменьшилась, но никто ничего не сказал. Бананы поделили на троих, а один лишний опять же отдали мартышке.
Вопрос: сколько бананов было в общей куче изначально?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Функция help() в Python
Все мы периодически нуждаемся в помощи или подсказке. Но не всегда рядом есть люди, которые могли бы подсказать. К счастью, Python предлагает решение и для таких безвыходных ситуаций.
#функции
У нас отличная новость – «Школа 21» открыла первый набор на бесплатное обучение ИТ-специалистов в Ярославле!
Обучение будет проходить в новом современном кампусе, который уже осенью примет первых участников. Здесь ты научишься кодить на нескольких языках, освоишь работу с базами данных и инфраструктурой, а также изучишь различные направления цифровых технологий.
Тебе предстоит работать над проектами индивидуально и в группах без расписаний, лекций и оценок. Срок обучения зависит только от тебя и составляет от 1,5 до 3 лет.
Не стоит переживать, если у тебя нет опыта в программировании. Более 50% участников обучения в школе – это люди, начинающие свой путь в сфере ИТ. А как показывает практика, выпускники школы востребованы на рынке труда, в том числе у компаний – лидеров отраслей экономики.
Если ты мечтал стать ИТ-специалистом, но не знал, с чего начать, то приглашаем тебя на обучение. Не упусти свой шанс и скорее подавай заявку.
Ответ к задаче "Судебная головоломка"
Когда обвиняемый думает о себе, он может рассуждать следующим образом: "Допустим, второй обвиняемый признается. Если я тоже признаюсь, то получу легкое наказание, а если нет - буду сурово наказан. Допустим также, что второй обвиняемый не признается, тогда меня освободят независимо от моих действий. Поэтому лучше признаться".
Решив таким образом, оба обвиняемых признают свою вину. В результате они оба получат наказание, хотя и легкое. А могли бы быть освобождены, если бы оба не признали своей вины.
Дилемма заключённого, лежащая в основе этой задачи, - фундаментальная проблема в теории игр. Согласно ей рациональные игроки не всегда будут сотрудничать друг с другом, даже если это в их интересах.
#логическаязадача
Топ. Создание GUI в Python при помощи Tkinter
В этой статье мы разберем, как создавать графические интерфейсы в Python с помощью Tkinter. Мы рассмотрим создание окон, ярлыков с текстом и изображениями, а также основы дизайна интерфейсов.
#топ
Задача с кодом. Сиракузская последовательность
Сиракузская последовательность генерируется следующим образом. Берем любое натуральное число n. Если оно четное, то делим его на 2, а если нечетное, то умножаем на 3 и прибавляем 1 (получаем 3n + 1). Над полученным числом выполняем те же самые действия, и так далее.
Немецкий математик Коллатц выдвинул гипотезу: какое бы начальное число n мы ни взяли, рано или поздно мы получим единицу.
Напишите функцию, которая будет принимать в качестве аргумента число и возвращать кортеж из двух элементов: количества шагов сиракузской последовательности для переданного числа и наибольшее число в этой последовательности.
Примеры:
collatz(2) ➞ (2, 2)Решение на нашем сайте.
# seq = [2, 1]
collatz(3) ➞ (8, 16)
# seq = [3, 10, 5, 16, 8, 4, 2, 1]
collatz(7) ➞ (17, 52)
# seq = [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
collatz(8) ➞ (4, 8)
# seq = [8, 4, 2, 1]
Первый или даже нулевой шаг в разработку — это понимание логики и алгоритмов, на которых строится любой язык программирования. Хорошая новость в том, что этот уровень доступен абсолютно всем.
На курсе «Основы программирования» за час вы научитесь читать код и сможете написать свою первую строчку на языке Python. Вас ждут задачи в тренажёре, которые быстро помогут понять — интересно ли вам вообще программировать?
Если да, то разберётесь в основах и сможете сделать следующий шаг к выбору конкретного направления.
Перейти к «Основам программирования»
Задача для новичков
Напишите функцию getSum(), которая принимает два целых неотрицательных числа a и b, а возвращает их сумму. При этом пользоваться операторами + и - запрещается.
Примеры работы данной функции:getSum(42, 5) --> 47Свои варианты пишите в комментариях! Решение - сегодня вечером.
getSum(3, 7) --> 10
getSum(4, 0) --> 4
#задача #coding
Задача на логику. Суматоха в автобусе
Есть автобус с сотней подписанных мест (от 1 до 100). В очереди 100 студентов. Пассажиры также имеют номера от 1 до 100.
Пассажиры заходят в автобус в порядке от 1 до n. Соглашение таково: когда пассажир под номером «i» заходит, тогда смотрит, не занято ли сидение под номером «i». В случае когда оно оказывается не занятым, пассажир занимает его, иначе он садится на любое другое не занятое место и занимает уже его.
Если учесть, что 1-й человек выбирает место абсолютно случайно, назовите шанс того, что 100-й человек сядет ровно на своё место, то есть сидение под номером 100.
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Функции. Как вызвать функцию в Python
В Python, также как и во многих других языках, чтобы избегать повторного написания кода, используются функции. В этой статье мы покажем на примерах, как в Python вызвать написанную функцию, в том числе вложенную.
#функции
Тест. Функции в Python
Хорошо ли вы разбираетесь в функциях? Давайте проверим!
#тест #функции