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

РКН: https://rknn.link/car
Download Telegram
Задача для новичков

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

Дополнение к целому числу — это целое число, которое вы получите, если замените все 0 на 1 и все 1 на 0 в его двоичном представлении. Например, целое число 5 — это «101» в двоичном представлени, а его дополнение — «010», то есть целое число 2.

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

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

findComplement(10) --> 5
findComplement(5) --> 2

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

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

def findComplement(num):
mask = 1
while mask < num:
mask = (mask << 1) + 1
return num ^ mask

#задача #coding
👍5
Топ. Python список в словарь: полное руководство

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

#топ