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
Задача на логику. Возраст сыновей

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

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

#логическаязадача
🐞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
Tips & Tricks. Истинные значения в Python

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

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

#tipsandtricks
Задача на логику. Кругосветный перелет профессора Фукано

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

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

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

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

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

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

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

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

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

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

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

#задача #coding
Функция type() в Python

Язык программирования Python предлагает нам функцию для проверки того, какой тип информации хранится в переменных. Эта встроенная функция называется type().

#функции
Задача с кодом. Прямоугольник в круге

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

Примеры:

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

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

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

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

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

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

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

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

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

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

Хорошо ли вы разбираетесь в функциях? Давайте проверим!

#тест #функции
Задача с кодом. Число с плавающей точкой

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

Примеры:

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
Функции. Как вызвать функцию в Python

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

#функции
Задача на логику. Суматоха в автобусе

Есть автобус с сотней подписанных мест (от 1 до 100). В очереди 100 студентов. Пассажиры также имеют номера от 1 до 100.

Пассажиры заходят в автобус в порядке от 1 до n. Соглашение таково: когда пассажир под номером «i» заходит, тогда смотрит, не занято ли сидение под номером «i». В случае когда оно оказывается не занятым, пассажир занимает его, иначе он садится на любое другое не занятое место и занимает уже его.

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

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

#логическаязадача
Машинное обучение. Pandas AI: библиотека Python для генеративного ИИ

Библиотека Pandas очень популярна на этапе предварительной обработки данных, машинного обучения и глубокого обучения. Но теперь вы можете делать с ней намного больше! Представляем вам новую библиотеку для обработки данных — Pandas AI.

Эта библиотека интегрирует возможности генеративного искусственного интеллекта в Pandas, делая классические датафреймы библиотеки Pandas диалоговыми.

Книги по ML - @maschinelearning

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

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

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

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

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

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

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

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

#задача #coding