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

РКН: https://rknn.link/car
Download Telegram
Ответ к задаче "Возраст сыновей"

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

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

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

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

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

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

Примеры:

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
1👍1🔥1🤡1
Задача на логику. Кругосветный перелет профессора Фукано

Профессор Фукано планирует облететь вокруг Земли на новом самолете (по экватору, безостановочно). По расчетам, весь перелет займет 6 часов.

Проблема в том, что топливный бак самолета вмещает только 180 килолитров топлива, а этого хватит ровно на половину пути. А на всей протяженности пути есть только одна точка, где самолет может сесть и заправиться (с этой точки и начнется перелет).

В распоряжении Фукано есть еще два таких же самолета (с пилотами), которые могут проводить дозаправку в воздухе. Как нужно скоординировать самолеты, чтобы Фукано совершил свой перелет, и при этом ни один из самолетов не разбился бы из-за недостатка топлива?

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

#логическаязадача
👍71👎1🤡1
Задача для новичков

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

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

isPowerOfThree(27) --> True
isPowerOfThree(-1) --> False
isPowerOfThree(20) --> False

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

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

def isPowerOfThree(n: int) -> bool:
if n <= 0:
return False
while n % 3 == 0:
n //= 3
return n == 1

#задача #coding
👍6👎3
Задача с кодом. Прямоугольник в круге

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

Примеры:

rectangle_in_circle(8, 6, 5) ➞ True
rectangle_in_circle(5, 9, 5) ➞ False
rectangle_in_circle(4, 7, 4) ➞ False

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

#задача #coding
Задача на логику. Кто есть кто?

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

Первый вошедший с порога бодро заявляет: "Я дизайнер". Следом второй, таинственно улыбаясь: "Я не дизайнер". Через минуту входит третий, усталый на вид, и, покачивая головой, отнекивается: "Я не программист".

Директор, откидываясь на спинку кресла и растягиваясь в хитрой улыбке, замечает: "Только один правду сказал! Как тут догадаться, кто из них кто?"

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

#логическаязадача
👍2
Ответ к задаче "Кто есть кто?"

Первый вошедший - программист, второй - дизайнер, третй - админ.

#логическаязадача
🤡9👍3
Задача с кодом. Число с плавающей точкой

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

Примеры:

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

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

#задача #coding
🔥21
Задача для новичков

Напишите функцию getSum(), которая принимает два целых неотрицательных числа a и b, а возвращает их сумму. При этом пользоваться операторами + и - запрещается.

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

getSum(42, 5) --> 47
getSum(3, 7) --> 10
getSum(4, 0) --> 4

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

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

def getSum(a, b):
while b != 0:
carry = a & b
a = a ^ b
b = carry << 1
return a

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

#задача #coding
👍4💩2
Машинное обучение. Нововведения PyTorch 2.0

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

Книги по ML - @maschinelearning

#ml
🤮3👍1👎1💩1
Тест. Логический тип данных

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

#тест
👍2🔥1
Задача с кодом. Больше, чем сумма?

Напишите функцию, которая будет принимать список чисел и проверять, является ли каждое число больше суммы всех предыдущих чисел. Если все числа в списке успешно пройдут проверку, функция должна вернуть 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

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

#задача #coding
👍5
Задача на логику. Три подозрительных матроса и дележка бананов

Трое матросов и обезьянка выбрались на берег безлюдного тропического острова. Весь день они бродили по острову, собирая бананы, и в итоге собрали достойное количество: примерно от 50 до 100 бананов. Матросы договорились поделить бананы поровну утром (на троих, обезьянка не в счет).

Ночью один матрос, опасаясь обмана со стороны товарищей, встал, отделил свою треть бананов и перепрятал ее. Бананы ровно на 3 не делились, оставался 1 лишний: его матрос отдал мартышке.

Точно так же поступили по очереди все три матроса.

Утром куча бананов солидно уменьшилась, но никто ничего не сказал. Бананы поделили на троих, а один лишний опять же отдали мартышке.

Вопрос: сколько бананов было в общей куче изначально?

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

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

Напишите функцию isPerfectSquare(), которая определяет, является ли число, поданное в качестве аргумента, полным квадратом другого числа. В этом случае функция должна возвращать True, в противном случае - False.

Пользоваться встроенными функциями типа sqrt(), pow(), **0.5 запрещается.

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

isPerfectSquare(16) --> True
isPerfectSquare(20) --> False
isPerfectSquare(121) --> True

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

#pythonзадача #coбес
👍2
Ответ к предыдущей задаче для новичков

def isPerfectSquare(num):
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

#задача #coding
👍31
Топ. Создание Android-приложения с помощью Python Kivy

Если вы являетесь Python-разработчиком и подумываете заняться мобильной разработкой, то фреймворк Kivy — это отличный выбор для вас. С помощью Kivy можно создавать платформонезависимые приложения, компилируемые под iOS, Android, Windows, MacOS и Linux.

#топ
👍6
Задача на логику. Остаться в живых

В одной деспотичной стране король созвал всех придворных мудрецов (количество их не принципиально, поэтому будем считать, что их 20).

Он объявил собравшимся, что завтра их всех построят в одну шеренгу и завяжут глаза. Затем каждому на голову наденут колпак черного или белого цвета и снимут повязки. Каждый сможет видеть цвет колпака стоящих впереди него, но не может видеть свой колпак и колпаки тех, кто сзади.

Каждого в шеренге спросят: "Какого цвета на тебе колпак?" Если мудрец ответит правильно, его оставят в живых. Если неправильно, значит он недостоин быть мудрецом и его казнят.

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

Вам тоже дадим ночь, а ответ опубликуем утром:)

#логическаязадача
👍2
Ответ к задаче "Остаться в живых"

Мудрецам нужно договориться следующим образом.

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

Допустим, число было четным, и он сказал, что колпак черный. Если угадал - остался в живых, не угадал - значит, не повезло.

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

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

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