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

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

@aldrson
Download Telegram
Списки. Как сохранить список Python в CSV формате

Чтобы сохранить список Python в CSV формате, вы можете использовать встроенный модуль csv, разработанный специально для чтения и записи файлов CSV. Другие способы получения того же результата включают установку и использование внешних библиотек Pandas или NumPy.

#списки
Tips & Tricks. Как проверить, содержит ли строка Python другую строку?

В этой статье:
- использование оператора in,
- использование метода find,
- более сложные способы поиска.

#строки #tipsandtricks
Задача на логику. Передача

Если верхнее колесо вращается в направлении, указанном стрелкой, то в каком направлении вращается нижнее колесо?

Пишите свои варианты в комментариях!

#логическаязадача
Модули. Как использовать ChatGPT API для прямого взаимодействия с Colab или Databricks

В этом руководстве мы проведем вас через несколько простых шагов, которые позволят вам использовать GPT для генерации текста, создания изображений или отладки вашего кода!

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

Целые числа (int) в Python 3 ничем не отличаются от обычных чисел. Они поддерживают набор самых обычных математических операций.

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

#тест
Друзья, подскажите как вам контент нашего канала?
Что нравится, что не нравится? Каких рубрик не хватает? Что добавить, а что может быть убрать?

Напишите отзыв в комментариях.
Задача с кодом. HTML-теги

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

Примеры:

secret("div*2") ➞ "<div></div><div></div>"
secret("p*1") ➞ "<p></p>"
secret("li*3") ➞ "<li></li><li></li><li></li>"

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

#задача #coding
Tips & Tricks. Как отсортировать словарь Python по ключу

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

#tipsandtricks
Задача на логику. Бег по эскалатору

Каждая ступенька эскалатора имеет высоту 20 см. Высота эскалатора по вертикали — 6 м. Лента эскалатора продвигается вверх со скоростью полступеньки в секунду.

Представьте, что вы встали на самую нижнюю ступеньку, которая была вровень с полом, и начали бежать вверх по движущемуся эскалатору, пробегая 1 ступеньку в секунду. Сколько шагов вы сделаете, прежде чем доберетесь до следующего этажа? (Примечание: шаг на эскалатор и шаг с него на пол не считаются).

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

#логическаязадача
Функция reduce в Python

Хотя Python не является языком функционального программирования в чистом виде, с его помощью можно многое сделать и в этой парадигме. И большую часть этого «многого» можно сделать при помощи всего одной функции — reduce.

#функции
Задача для новичков

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

Например, addDigits(38) --> 3 + 8 = 11 (число состоит из двух цифр, значит складывает дальше) --> 1 + 1 = 2. Таким образом, результат работы функции равен 2.

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

addDigits(355) --> 4
addDigits(2499) --> 6
addDigits(597) --> 3

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

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

def addDigits(num: int) -> int:
if len(str(num)) == 1:
return num
else:
return addDigits(sum(list(int(i) for i in str(num))))

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

#задача #coding
Задача с кодом. Пары чисел с минимальной разностью

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

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

В списке не будет дублирующихся значений.

Примеры:

min_difference_pair([40, 16, 8, 17, 15])
➞ [15, 16]
# Сумма [15, 16] меньше, чем сумма [16, 17]

min_difference_pair([1, -31, -27, -18, -48, -15, -11, -34])
➞ [-34, -31]

min_difference_pair([0, 2, 35, 42, 45, 14, -6, -1])
➞ [-1, 0]

min_difference_pair([32, 33, 4, 6, 48, 18, 20, -7, -4, 31])
➞ [31, 32]

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

#задача #coding
Tips & Tricks. Сортировка списка кортежей в Python

В этой статье мы рассмотрим, как использовать функцию sorted() и метод sort(), а также разберем различия между ними. Вы узнаете, как происходит сортировка кортежей в Python, и увидите, как дополнительные параметры key и reverse расширяют возможности сортировки.

#tipsandtricks
Задача на логику. Возраст сыновей

Два математика, не достигшие пенсионного возраста, встретились после долгого перерыва. Приведем фрагмент их диалога:
- Ну, а дети у тебя есть?
- Три сына.
- А сколько им лет?
- Если перемножить, будет как раз твой возраст.
- (После размышления.) Мне этих данных недостаточно.
- Если сложить их возраст, получится сегодняшнее число.
- (Вновь после размышления.). Все еще не понимаю.
- Кстати, средний сын любит танцевать.
- Понял.

А вы можете определить возраст каждого из сыновей?

#логическаязадача
🐞QaRocks — всеобъемлющий канал для тех, кто хочет стать тестировщиком. Официальный канал сайта qarocks.ru.

Пара фактов о канале:
— ребята публикуют переводы англоязычных туториалов
— составляют большие гайды — например, составили гайд: "Что будет на собесе джуна?"
— составили 25 тестов, которые должен пройти каждый тестировщик
— составляют список вопросов на собеседовании тестировщика,
— публикуют подборки необходимых QA книг
— проводят регулярные холиварные обсуждения — вот, например, подписчики рассказывают, какие курсы проходили перед началом работы;
— держат руку на пульсе актуальных зарплат 2023 года в сфере тестирования;
— публикуют обучающие статьи и видео, профессиональный юмор;

Кому полезно:
— начинающим и продолжающим тестировщикам;
— тем, кто хочет войти в айти через тестирование;
— девам, которые тестируют свой код;

Подписывайся на QaRocks и узнай уже наконец разницу между тест-планом и баг-репортом 😇
Ответ к задаче "Возраст сыновей"

Математик знает произведение и сумму трех целых чисел и не может их определить. Значит, эти числа таковы, что их нельзя определить однозначно.

Если переберем все натуральные числа в разумных пределах, соответствующих условию задачи, например, от 20 до 60, то убедимся, что почти во всех случаях эти числа раскладываются на произведение из трех сомножителей, имеющих разные суммы.

Есть только два исключения:
- 36 = 1*6*6 = 2*2*9, суммы множителей равны 13,
- 40 = 2*2*10 = 1*5*8, суммы множителей равны 14.

Подходит лишь последний вариант, в котором есть средний сын. Поэтому возраст сыновей - 1 год, 5 и 8 лет.

#логическаязадача
ООП. Почему все в Python является объектом?

Разбираем, что такое "объект" и что означает фраза «В Python все является объектом».

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

В Python string (строка) — это неизменяемая последовательность символов. Из строк, так же как из списков, можно извлекать отдельные символы с помощью индексов.

Хорошо ли вы умеете применять тип string? Пройдите тест из 10 вопросов и проверьте!

#тест
Задача с кодом. Пробелы

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

Примеры:

correct_spacing("The film   starts       at      midnight. ")
➞ "The film starts at midnight."

correct_spacing("The waves were crashing on the shore. ")
➞ "The waves were crashing on the shore."

correct_spacing(" Always look on the bright side of life.")
➞ "Always look on the bright side of life."

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

#задача #coding