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
🐞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
Задача с кодом. Пробелы

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

Примеры:

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

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

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

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

Профессор Фукано планирует облететь вокруг Земли на новом самолете (по экватору, безостановочно). По расчетам, весь перелет займет 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
Тест. Функции в Python

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

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

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

Примеры:

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
Задача на логику. Суматоха в автобусе

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

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

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

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

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

Напишите функцию 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
Задача с кодом. Сиракузская последовательность

Сиракузская последовательность генерируется следующим образом. Берем любое натуральное число n. Если оно четное, то делим его на 2, а если нечетное, то умножаем на 3 и прибавляем 1 (получаем 3n + 1). Над полученным числом выполняем те же самые действия, и так далее.

Немецкий математик Коллатц выдвинул гипотезу: какое бы начальное число n мы ни взяли, рано или поздно мы получим единицу.

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

Примеры:

collatz(2) ➞ (2, 2)
# seq = [2, 1]

collatz(3) ➞ (8, 16)
# seq = [3, 10, 5, 16, 8, 4, 2, 1]

collatz(7) ➞ (17, 52)
# seq = [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]

collatz(8) ➞ (4, 8)
# seq = [8, 4, 2, 1]

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

#задача #coding
👍6👎1
Задача на логику. Судебная головоломка

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

Почему с точки зрения отдельного обвиняемого лучше признаться, а с точки зрения обоих - не делать этого?

Излагайте свои рассуждения в комментариях!

#логическаязадача
👍4🤯1
Ответ к задаче "Судебная головоломка"

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

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

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

#логическаязадача
👍6
Машинное обучение. Нововведения PyTorch 2.0

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

Книги по ML - @maschinelearning

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

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

#тест
👍2🔥1