Pythonist.ru - образование по питону
25.2K subscribers
108 photos
1 video
941 links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Книги
3. Задачи на логику
4. Проект Эйлера
5. Видео
6. Тесты по Python 3

@aldrson
Download Telegram
Задача для новичков

Напишите функцию averageValue(), которая принимает на вход список целых неотрицательных чисел.

Эта функция должна вернуть среднее значение четных чисел из данного списка, которые ещё при этом делятся на 3. Это значение должно быть округлено вниз до ближайшего целого значения. Если в списке нет значений, которые бы удовлетворяли этим условиям, функция должна вернуть 0.

Примеры работы данной функции:

averageValue([1,3,6,10,12,15]) --> 9
averageValue([1,2,4,7,10]) --> 0

Свои варианты пишите в комментариях! Решение - сегодня вечером.

#задача #coding
Ответ к предыдущей задаче для новичков

def averageValue(nums):
x = [i for i in nums if i % 2 == 0 and i % 3 == 0]
return 0 if len(x) == 0 else sum(x) // len(x)

#задача #coding
Задача с кодом. Выводим расширение файла

Напишите программу, которая принимает имя файла и выводит его расширение. Если расширение у файла определить невозможно, выбросите исключение.

Решение на нашем сайте.

#задача #coding
Tips & Tricks. Проверка типов данных и «утиная» типизация в Python

В этой статье:
- типизация языков,
- функции type() и ‘isinstance() в Python,
- неявная («утиная») типизация в Python,
- подсказки типов и модуль mypy.

#tipsandtricks #функции
Задача на логику. Голубоглазые островитяне

На острове живет 200 человек. Островитяне абсолютно логичны в каждом своем решении. Но вот беда: они на острове пленники.

Из 200 островитян у 100 человек глаза голубые, а у 100 — карие. Но никто не знает, кого цвета его собственные глаза — голубые, карие или вообще зеленые. На острове нет отражающих поверхностей, так что никто не может просто увидеть цвет своих глаз в отражении. Кроме того людям под страхом смерти запрещено общаться друг с другом как устно, так и письменно.

Тем не менее, каждый из них может видеть цвет глаз остальных 199 островитян.

Каждую ночь на остров приплывает корабль с капитаном, который, собственно, пленил островитян. Если кто-нибудь из пленников правильно угадает цвет своих глаз и назовет его капитану, он сможет сесть на корабль и покинуть остров. Но наказание за ошибку — смерть.

Однажды на остров прибывает иностранец, о котором известно, что он исключительно правдив. Все островитяне собрались посмотреть на него. Желая помочь пленникам, иностранец объявил: «Как минимум у одного из вас голубые глаза».

Вопрос: сколько человек после этого объявления покинет остров и когда именно?

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача
Строки. Как прочесть определенную строку файла при помощи Python

Предположим, у вас есть довольно большой файл (размер исчисляется в гигабайтах). Вы хотите прочесть строку № 120. При этом не хотелось бы загружать в память содержимое файла целиком. То есть, наша задача — прочесть определенную строку текстового файла. Приступим!

#строки
Тест. While (уровень — лёгкий)

Цикл while используется в Python для неоднократного исполнения определенной инструкции до тех пор, пока заданное условие остается истинным. Этот цикл позволяет программе перебирать блок кода.

Хорошо ли вы умеете пользоваться циклом while? Пройдите тест из 10 вопросов и проверьте!

#тест
Топ. Подробный разбор цикла while в Python

Цикл — это некий набор инструкций. Он выполняется до тех пор, пока его условие истинно. Давайте разберемся, как работает цикл while в Python.

#топ
Задача с кодом. Недостающие буквы

Напишите функцию, которая будет принимать строку из уникальных букв и возвращать отсортированную строку из букв, которых не было в переданной строке.

Примечания:

- Подразумевается использование английского алфавита. Всего в двух строках должно быть 26 букв.
- Все буквы будут в нижнем регистре.

Примеры

get_missing_letters("abcdefgpqrstuvwxyz") 
➞ "hijklmno"

get_missing_letters("zyxwvutsrq")
➞ "abcdefghijklmnop"

get_missing_letters("abc")
➞ "defghijklmnopqrstuvwxyz"

get_missing_letters("abcdefghijklmnopqrstuvwxyz")
➞ ""

Решение на нашем сайте.

#задача #coding
Tips & Tricks. Конвертация списка в строку

Рассказали о трех вариантах, как сконвертировать список (list) в строку в Python 3.

#tipsandtricks #списки
Задача на логику. Сколько яиц несет утка ежедневно?

Известно, что полторы утки приносят полтора яйца за полтора дня. Сколько яиц несет одна утка в день?

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача
ООП. Переменная self в Python с примерами

Если вы работали с Python, то, возможно, сталкивались с переменной self. Ее можно встретить в определениях методов и при инициализации переменных. В этой статье мы познакомим вас с self поближе.

#ооп
Задача для новичков

Напишите функцию mostFrequentEven(), на вход которой подается список целых чисел. Эта функция должна вывести наиболее часто встречающееся целое число. Если таких несколько, то нужно вывести минимальное, а если их нет вообще, то вывести -1.

Примеры работы данной функции:

mostFrequentEven([0,1,2,2,4,4,1]) --> 2
mostFrequentEven([29,47,21,41,13,37,25,7]) --> -1

Свои варианты пишите в комментариях! Решение - сегодня вечером.

#задача #coding
Ответ к предыдущей задаче для новичков

def mostFrequentEven(nums):
evens = [num for num in nums if num % 2 == 0]
if not evens:
return -1
return min(evens, key=lambda x: (-evens.count(x), x))

#задача #coding
Машинное обучение. Как очистить данные при помощи Pandas

Клайв Хамби сказал: «Данные — это новая нефть». И, как и нефть, они нуждаются в очистке. Разбираемся, как это сделать с применением библиотеки Pandas.

Книги по ML - @maschinelearning

#ml
Задача с кодом. Все вхождения элемента в список

Условие:
Создайте функцию, которая вернет индексы всех вхождений элемента в списке.

Примеры:
get_indices(["a", "a", "b", "a", "b", "a"], "a") 
➞ [0, 1, 3, 5]
get_indices([1, 5, 5, 2, 7], 7)
➞ [4]
get_indices([1, 5, 5, 2, 7], 5)
➞ [1, 2]
get_indices([1, 5, 5, 2, 7], 8)
➞ []


Примечания:
- Если элемента нет в списке, то возвращаем [].
- Индекс списка начинается с 0.
- Без вложенных списков и сложных конструкций внутри списка.

Решение на нашем сайте.

#задача #coding
Tips & Tricks. Нахождение длины списка при помощи рекурсии

Объясняем пошагово, как написать программу, которая будет принимать список и определять его длину при помощи рекурсии.

#tipsandtricks #списки #рекурсия
Задача на логику. Камень, ножницы, бумага

Адам и Ева играют в «камень, ножницы, бумага» и уже сыграли 10 раз. Известно следующее:

- Адам использовал камень 3 раза, ножницы — 6 раз, бумагу — 1 раз.
- Ева использовала камень 2 раза, ножницы — 4 раза, бумагу — 4 раза.
- Ни в одной из 10 игр не было ничьей.
- Порядок игр неизвестен.

Кто выигрывает и с каким счетом?

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача
Топ. Проверка типов в Python

В этой статье мы рассмотрим, что такое подсказки типов и чем они могут быть полезны. Мы также рассмотрим, как можно использовать систему типов Python для статической проверки типов с помощью mypy и проверки типов во время выполнения с помощью pydantic, marshmallow и typeguard.

#топ
Тест. Работа с числовыми выражениями в Python

Работа с числовыми выражениями — ежедневная рутина разработчика. Они постоянно используются в вычислениях, переменных, функциях, методах и условиях. Тема, в общем-то, простая, но в ней довольно легко запутаться и допустить ошибку.

Проверьте, насколько хорошо вы разбираетесь в числовых выражениях: пройдите тест из 10 вопросов!

#тест
Задача на логику. Сколько игр был сыграно?

Люся и Света решили поиграть в теннис. Для интереса начали делать ставки — по доллару на игру. Люся выиграла три игры, а Света в итоге обогатилась на 5 долларов.

Сколько игр (минимально) сыграли девушки?

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача