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

РКН: https://kurl.ru/WPjOT
Download Telegram
Задача на логику. Мешочки с монетами

У вас есть 10 мешочков, полных монет. В каждом мешочке бесконечное количество монеток. Но один из мешков полон подделок, и вы не можете вспомнить, какой именно.

Но вы всё же знаете, что настоящие монеты весят 1 грамм, а подделки — 1,1 грамма. Вы должны обнаружить эту сумку за минимальное количество взвешиваний.

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

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

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

Есть лестница, состоящая из n ступенек. Вы можете за один шаг подниматься на 1 или на 2 ступеньки. Напишите функцию climbStairs(), которая бы подсчитывала количество всех возможных вариантов подняться на эту лестницу.

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

climbStairs(5) —> 8
climbStairs(8) —> 34
climbStairs(35) —> 14930352

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

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

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
👍4🤡2
Задача с кодом. Фруктовый салат

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

Примеры:

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
👍72🤡2🤩1
Задача на логику. Передача

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

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

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

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

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

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

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

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

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

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

Примеры:

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

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

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

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

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

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

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

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

#логическаязадача
👍3🥰1👌1🤡1
Задача для новичков

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

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

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

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

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

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

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
👍91
Задача с кодом. Пары чисел с минимальной разностью

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

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

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

Примеры:

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
👍6
Tips & Tricks. Сортировка списка кортежей в Python

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

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

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

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

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

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

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

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

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

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

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

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

#логическаязадача
👍5🤡4