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

РКН: https://rknn.link/car
Download Telegram
Задача с кодом. Подсчет цифр

Напишите функцию, подсчитывающую количество одинаковых цифр в числе.

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

Разбор примера
digit_count(136116) ➞ 312332
# Цифра 1 появляется трижды, поэтому все единицы заменяются на тройки.
# Цифра 3 появляется только один раз, поэтому тройка заменяется единицей.
# Цифра 6 появляется дважды, поэтому обе шестерки заменяются двойками.
# Возвращается целое число.

Другие примеры
digit_count(221333) ➞ 221333
digit_count(136116) ➞ 312332
digit_count(2) ➞ 1

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

#задача #coding
👍3
Функции. Удаление файла — пошаговое руководство

Рассказываем, как удалять файлы при помощи методов os.remove(), os.rmdir() и shutil.rmtree().

#модули #функции
Задача для новичков

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

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

findMissedNumbers([4,3,2,7,8,2,3,1]) --> [5, 6]
findMissedNumbers([1, 1, 1]) --> [2, 3]

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

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

def findMissedNumbers(nums: list[int]) -> list[int]:
return [i for i in range(1, len(nums) + 1) if i not in nums]

А вот более быстрый вариант, который работает за линейное время:

def findMissedNumbers(nums: list[int]) -> list[int]:
return list(set(range(1, len(nums) + 1)) - set(nums))

#задача #coding
🔥5👍2
Tips & Tricks. Как проверить наличие ключа в словаре в Python

В этом уроке мы рассмотрим четыре наиболее часто используемых способа проверки существования ключа в словаре на языке Python.

#tipsandtricks #словари
👍5
Задача с кодом. Бит четности

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

- Если двоичная строка содержит нечетное количество единиц, бит четности — 1.
- Если двоичная строка содержит четное количество единиц, бит четности — 0.
- Бит четности добавляется в конец двоичной строки.

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

Рабочий пример
 validate_binary("10110010") ➞ True
# Последняя цифра - бит четности.
# 0 - последняя цифра.
# 0 означает, что число единиц должно быть четным.
# Здесь 4 единицы.
# Возвращаем True.

Другие примеры
validate_binary("00101101") ➞ True
validate_binary("11000000") ➞ True
validate_binary("11000001") ➞ False

Примечание: в инпуте всегда будет 8 символов (байт).

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

#задача #coding
3🔥2
Модули. 7 интересных модулей Python, которые стоит попробовать

В этой статье:

1. Pyperclip
2. Emoji
3. Wikipedia
4. Howdoi
5. Antigravity
6. urllib
7. Turtle

#модули
👍1
Тест. Числовой тип в Python

Числовой тип в Python довольно прост и интуитивно понятен. Но, разумеется, прост он для тех, кто разобрался в теме. А вы хорошо разобрались? Проверьте: пройдите наш тест!

#тест
🤡1
Tips & Tricks. Unexpected exception

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

#tipsandtricks
Задача на логику. Число 1000

Можете ли вы число 1000 выразить восемью одинаковыми цифрами? (Также можно пользоваться знаками действий).

#логическаязадача
👍1
Ответ к задаче "Число 1000"

888 + 88 + 8 + 8 + 8 = 1000.
(2222 - 222) / 2 = 1000.

Во втором решении цифру 2 можно заменить на любую другую (разумеется, кроме нуля).

#логическаязадача
👍4
Топ. Как писать чистый код на Python

Python — один из наиболее элегантных и чистых языков программирования. Но красивый и чистый синтаксис не означает чистый код. И не избавляет разработчиков от необходимости изучать наилучшие приемы и шаблоны проектирования.

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

У вас есть n монет, из которых нужно построить лестницу. Лестница состоит из k рядов, в первом из которых строго одна монета, а в следующих на одну монету больше в каждом последующем. Соответственно, последний ряд может быть неполным. Вот пример такой лестницы:

$
$ $
$ $ $
$ $ $

Как видите, тут 4-й ряд неполон.

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

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

arrangeCoins(8) --> 3
arrangeCoins(5) --> 2

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

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

def arrangeCoins(n: int) -> int:
counter = 0
m = 0
row = 1
while m <= n:
m += row
row += 1
counter += 1

return counter if counter == row else counter - 1

#задача #coding
💩6👍21
Задача с кодом. Число Керзона

Если 2^N+1 без остатка делится на 2*N+1, то число N считается числом Керзона.

Реализуйте функцию, которая будет принимать целое число num и возвращать True, если num — число Керзона, и False — если нет.

Примеры:

is_curzon(5) ➞ True
# 2 ** 5 + 1 = 33
# 2 * 5 + 1 = 11
# 33 кратно 11

is_curzon(10) ➞ False
# 2 ** 10 + 1 = 1025
# 2 * 10 + 1 = 21
# 1025 не кратно 21

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

#задача #coding
👍7
Задача на логику. Носки и перчатки

В одном ящике лежит 10 пар коричневых и 10 пар черных носков. В другом — 10 пар коричневых и 10 пар черных перчаток.

По сколько носков и перчаток нужно взять из каждого ящика, чтобы из взятого можно было составить пару носков какого-нибудь одного цвета и пару перчаток одного цвета? (Носки и перчатки могут различаться по цвету, но пары должны быть одноцветными).

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

#логическаязадача
1👍1
Тест. Django ORM

Умеете ли вы работать с базами данных с помощью Django ORM? Давайте проверим!

#тест #django
👎4
Задача с кодом. Сколько полных оборотов?

Дан список, состоящий из произвольного числа направлений поворотов («left» и/или «right»). Напишите функцию, которая будет принимать этот список и определять, сколько полных оборотов сделано.

Примечания:
- Каждый поворот влево или вправо считается поворотом на 90 градусов.
- Один оборот = 360 градусов в одном направлении.
- Вернуть надо положительное число.

Примеры:
spin_around(["left", "right", "left", "right"]) ➞ 0
spin_around(["right", "right", "right", "right", "right", "right", "right", "right"]) ➞ 2
spin_around(["left", "left", "left", "left"]) ➞ 1


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

#задача #coding
👍31
Tips & Tricks. Быстрая сортировка на Python

Давайте рассмотрим, как написать на Python программу, которая будет сортировать список методом быстрой сортировки (QuickSort).

#tipsandtricks #списки
👍1
Топ. 9 полезных библиотек Python

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

#топ
👍6