Pythonist.ru - образование по питону
26.5K subscribers
80 photos
1 video
924 links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Книги
3. Задачи на логику
4. Проект Эйлера
5. Видео
6. Тесты по Python 3

@aldrson
Download Telegram
Строки. Как работает конкатенация строк в Python 3?

Конкатенация строк — самая распространенная операция в программировании на Python. При этом складывать строки можно по-разному, и в этой статье мы рассмотрели несколько способов.

#строки
Задача с кодом. Сумма чисел от 1 до n

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

Примеры:
sum_numbers(5) ➞ 15 
// 1 + 2 + 3 + 4 + 5 = 15
sum_numbers(1) ➞ 1
sum_numbers(12) ➞ 78


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

#задача #coding
Tips & Tricks. Сравнение объектов: «is» vs «==»

Разбираемся на примерах, чем отличается сравнение объектов в Python при помощи операторов "==" и "is".

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

Один турист приехал на катере на косу позагорать-поплавать. Времени на купание отведено немного: через 1,5 часа катер вернется и заберет его. С другой стороны косы (не той, где причаливает катер) природа красивее и песочек мягче. Естественно, купаться все уходят туда.

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

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

В рюкзаке у туриста были спички и 2 жгута разной длины и толщины (лучше б там батарея для телефона была). Также турист знал, что каждый жгут сгорает за 1 час.

Вопрос: как при помощи имеющегося инвентаря отмерить 45 минут?

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

#логическаязадача
Топ. Как запустить скрипт Python

Какой бы язык программирования вы не начали изучать, вашей первой программой, скорее всего, будет «Hello World!».

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

#топ
Почему Python-разработчику нужно знать SQL?

Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом:
- узнаете, когда Python-разработчику может понадобиться SQL;
- рассмотрите СУБД;
- реализуете небольшое приложение, использующее базу данных.

Занятие пройдёт 20 марта в 20:00 мск и будет приурочено к старту курса «Специализация Python Developer». Доступна рассрочка на обучение!

👉 Зарегистрируйтесь боте прямо сейчас

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Задача для новичков

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

Эта функция должна вернуть среднее значение четных чисел из данного списка, которые ещё при этом делятся на 3. Это значение должно быть округлено вниз до ближайшего целого значения. Если в списке нет значений, которые бы удовлетворяли этим условиям, функция должна вернуть 0.

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

averageValue([1,3,6,10,12,15]) --> 9
averageValue([1,2,4,7,10]) --> 0

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

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

def averageValue(nums):
x = [i for i in nums if i % 2 == 0 and i % 3 == 0]
return 0 if len(x) == 0 else sum(x) // len(x)

#задача #coding
Задача с кодом. Выводим расширение файла

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

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

#задача #coding
Tips & Tricks. Проверка типов данных и «утиная» типизация в Python

В этой статье:
- типизация языков,
- функции type() и ‘isinstance() в Python,
- неявная («утиная») типизация в Python,
- подсказки типов и модуль mypy.

#tipsandtricks #функции
Задача на логику. Голубоглазые островитяне

На острове живет 200 человек. Островитяне абсолютно логичны в каждом своем решении. Но вот беда: они на острове пленники.

Из 200 островитян у 100 человек глаза голубые, а у 100 — карие. Но никто не знает, кого цвета его собственные глаза — голубые, карие или вообще зеленые. На острове нет отражающих поверхностей, так что никто не может просто увидеть цвет своих глаз в отражении. Кроме того людям под страхом смерти запрещено общаться друг с другом как устно, так и письменно.

Тем не менее, каждый из них может видеть цвет глаз остальных 199 островитян.

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

Однажды на остров прибывает иностранец, о котором известно, что он исключительно правдив. Все островитяне собрались посмотреть на него. Желая помочь пленникам, иностранец объявил: «Как минимум у одного из вас голубые глаза».

Вопрос: сколько человек после этого объявления покинет остров и когда именно?

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

#логическаязадача
Строки. Как прочесть определенную строку файла при помощи Python

Предположим, у вас есть довольно большой файл (размер исчисляется в гигабайтах). Вы хотите прочесть строку № 120. При этом не хотелось бы загружать в память содержимое файла целиком. То есть, наша задача — прочесть определенную строку текстового файла. Приступим!

#строки
Тест. While (уровень — лёгкий)

Цикл while используется в Python для неоднократного исполнения определенной инструкции до тех пор, пока заданное условие остается истинным. Этот цикл позволяет программе перебирать блок кода.

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

#тест
Топ. Подробный разбор цикла while в Python

Цикл — это некий набор инструкций. Он выполняется до тех пор, пока его условие истинно. Давайте разберемся, как работает цикл while в Python.

#топ
Задача с кодом. Недостающие буквы

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

Примечания:

- Подразумевается использование английского алфавита. Всего в двух строках должно быть 26 букв.
- Все буквы будут в нижнем регистре.

Примеры

get_missing_letters("abcdefgpqrstuvwxyz") 
➞ "hijklmno"

get_missing_letters("zyxwvutsrq")
➞ "abcdefghijklmnop"

get_missing_letters("abc")
➞ "defghijklmnopqrstuvwxyz"

get_missing_letters("abcdefghijklmnopqrstuvwxyz")
➞ ""

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

#задача #coding
Tips & Tricks. Конвертация списка в строку

Рассказали о трех вариантах, как сконвертировать список (list) в строку в Python 3.

#tipsandtricks #списки
Задача на логику. Сколько яиц несет утка ежедневно?

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

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

#логическаязадача
ООП. Переменная self в Python с примерами

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

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

Напишите функцию mostFrequentEven(), на вход которой подается список целых чисел. Эта функция должна вывести наиболее часто встречающееся целое число. Если таких несколько, то нужно вывести минимальное, а если их нет вообще, то вывести -1.

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

mostFrequentEven([0,1,2,2,4,4,1]) --> 2
mostFrequentEven([29,47,21,41,13,37,25,7]) --> -1

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

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

def mostFrequentEven(nums):
evens = [num for num in nums if num % 2 == 0]
if not evens:
return -1
return min(evens, key=lambda x: (-evens.count(x), x))

#задача #coding