Pythonist.ru - образование по питону
25.7K subscribers
208 photos
5 videos
5 files
1.05K links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

РКН: https://kurl.ru/WPjOT
Download Telegram
Ответ к предыдущей задаче для новичков

def climbStairs(n: int) -> int:
if n <= 2:
return n

dp = [0] * (n + 1)
dp[1] = 1
dp[2] = 2

for i in range(3, n + 1):
dp[i] = dp[i - 1] + dp[i - 2]

return dp[n]

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

#задача #coding
Задача с кодом. Фруктовый салат

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

Примеры:

fruit_salad(["apple", "pear", "grapes"])
➞ "apargrapepesple"

# Кусочки:
# ["ap", "ple", "pe", "ar", "gra", "pes"]
# Отсортированные кусочки:
# ["ap", "ar", "gra", "pe", "pes", "ple"]
# Итоговая строка:
# "apargrapepesple"

fruit_salad(["apple", "pear", "grapes"])
➞ "apargrapepesple"

fruit_salad(["raspberries", "mango"])
➞ "erriesmangoraspb"

fruit_salad(["banana"])
➞ "anaban"

Примечания:
- Если название фрукта имеет нечетное число букв, правая часть должна быть больше левой. Например, «apple» делится на «ap» и «ple».
- Все названия фруктов будут в нижнем регистре.

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

#задача #coding
Задача на логику. Передача

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

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

#логическаязадача
Модули. Как использовать 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 минут перед тем как читать решение.

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

Напишите функцию 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 лет.

#логическаязадача
Задача с кодом. Пробелы

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

Примеры:

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
Tips & Tricks. Истинные значения в Python

Истинные значения — это значения, которые оценивается как True при использовании в булевом контексте. Аналогично, ложные значения — это значения, которые оцениваются как False. Это полезная фича Python и некоторых других языков.

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

#tipsandtricks