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

РКН: https://rknn.link/car
Download Telegram
👩‍💻 Задача с кодом. Валидация подсписков

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

🔵 Примечания:

✔️ Пустой список считаем валидным подмножеством множества чисел второго списка
✔️ В каждом отдельном списке (как во вложенных, так и во втором, обычном списке) числа будут уникальными.

🔵 Примеры:

validate_subsets([[1, 2], [2, 3], [1, 3]], [1, 2, 3])
➞ True

validate_subsets([[1, 2, 3], [2], [3], []], [1, 2, 3])
➞ True

validate_subsets([[1, 2], [2, 3], [1, 4]], [1, 2, 3])
➞ False

validate_subsets([[1, 2, 3, 4]], [1, 2, 3])
➞ False


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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Задача с кодом. От A до Z

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

🔵 Примечания:

✔️ Диапазон будет задаваться двумя буквами с дефисом между ними.
✔️ Обрабатывать ошибки не нужно (при указании диапазона обе буквы будут в одинаковом регистре и располагаться будут в алфавитном порядке).

🔵 Примеры:

gimme_the_letters("a-z") ➞ "abcdefghijklmnopqrstuvwxyz"
gimme_the_letters("h-o") ➞ "hijklmno"
gimme_the_letters("Q-Z") ➞ "QRSTUVWXYZ"
gimme_the_letters("J-J") ➞ "J"


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


#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
4
👩‍💻 Задача с кодом. День рождения

Олегу не хочется становиться старше, поэтому он решил праздновать только свое 20-летие (ну и 21 год тоже, ладно уж). Это возможно, если применить некоторые математические навыки. Нужно просто подобрать подходящее основание числа!

Например, если сейчас Олегу 22 года, это 20 с основанием 11. Аналогично 65 лет — это ровно 21 год с основанием 32. И так далее.

Создайте функцию, которая будет принимать текущий возраст age и возвращать «нужный» возраст (20 лет или 21 год), а также основание числа в том же формате, что в примерах.

🔵 Примеры:

happy_birthday(22) ➞ "Oleg is just 20, in base 11!"

happy_birthday(65) ➞ "Oleg is just 21, in base 32!"

happy_birthday(83) ➞ "Oleg is just 21, in base 41!"


🔵 Примечание: передваемый в функцию возраст всегда будет больше 21.

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
3
👩‍💻 Задача с кодом. Сортировка чисел по их длине

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

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

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

🔵 Примеры:

number_len_sort([1, 54, 1, 2, 463, 2]) 
➞ [1, 1, 2, 2, 54, 463]

number_len_sort([999, 421, 22, 990, 32])
➞ [22, 32, 999, 421, 990]

number_len_sort([9, 8, 7, 6, 5, 4, 31, 2, 1, 3])
➞ [9, 8, 7, 6, 5, 4, 2, 1, 3, 31]

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Задача с кодом. Снимаем внешние слои

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

🔵 Примечания:

✔️ 2D-сетка всегда имеет форму прямоугольника или квадрата.
✔️ Возвращать нужно именно список списков, за исключением ситуации, когда элементов просто нет. В таком случае нужно вернуть пустой список.

🔵 Примеры:

peel_layer_off([
["a", "b", "c", "d"],
["e", "f", "g", "h"],
["i", "j", "k", "l"],
["m", "n", "o", "p"]
])

➞ [
["f", "g"],
["j", "k"]
]


peel_layer_off([
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25],
[26, 27, 28, 29, 30],
[31, 32, 33, 34, 35]
])

➞ [
[7, 8, 9],
[12, 13, 14],
[17, 18, 19],
[22, 23, 24],
[27, 28, 29]
]


peel_layer_off([
[True, False, True],
[False, False, True],
[True, True, True]
])

➞ [[False]]


peel_layer_off([
["hello", "world"],
["hello", "world"]
])

➞ []


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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
👩‍💻 Задача с кодом. Пары букв

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

Например, если a = "bboiizz" и b = "bbuiiz", функция должна вернуть 3, поскольку «bb», «ii», и «iz» встречаются в обеих строках на одинаковых позициях.

🔵 Примеры:

str_match_by2char("yytaazz", "yyjaaz") ➞ 3

str_match_by2char("edabit", "ed") ➞ 1

str_match_by2char("", "") ➞ 0

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Задача с кодом. Сколько раз придется умножить?

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

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

🔵 Примеры:

multiplication(39) ➞ 3
# Потому что 3 * 9 = 27, 2 * 7 = 14, 1 * 4 = 4, а 4 - однозначное число.

multiplication(999) ➞ 4
# 9 * 9 * 9 = 729, 7 * 2 * 9 = 126, 1 * 2 * 6 = 12, 1 * 2 = 2.

multiplication(4) ➞ 0
# Потому что 4 - однозначное число.

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
3
👩‍💻 Задача с кодом. Сумма всех N-х чисел

Напишите функцию, которая будет принимать список чисел и положительное число n и возвращать сумму всех n-х чисел. То есть нужно прибавлять к общей сумме каждое второе число, если n = 2, или каждое третье, если n = 3, и т. д.

🔵 Примеры:

sum_every_nth([4, 8, 6, 6, 7, 9, 3], 1) ➞ 43
# 4+8+6+6+7+9+3 = 43

sum_every_nth([7, 3, 10, 4, 5, 8, 4, 9, 6, 9, 10, 1, 4], 4) ➞ 14
# 4+9+1 = 14

sum_every_nth([10, 6, 5, 4, 5, 2, 3, 3, 8, 10, 7, 2], 8) ➞ 3
# 3

sum_every_nth([6, 8, 9, 4, 6, 4, 7, 1, 5, 6, 10, 2], 13) ➞ 0
# в списке только 12 чисел

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задача с кодом. Тип последовательности

Напишите функцию, которая будет определять, является ли переданная ей последовательность линейной («Linear»), квадратичной («Quadratic») или кубической («Cubic»).

Инпутом будет список чисел произвольной длины. Числа в списке будут представлять собой одну из указанных последовательностей.

Функция должна возвращать строки «Linear», «Quadratic» или «Cubic» в соответствии с тем, какая последовательность передана.

🔵 Примеры:

seq_level(1, 2, 3, 4, 5) ➞ "Linear"
seq_level(3, 6, 10, 15, 21) ➞ "Quadratic"
seq_level(4, 14, 40, 88, 164) ➞ "Cubic"


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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 Задача с кодом. Совершенное число

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

Совершенное число — натуральное число, равное сумме всех своих собственных делителей (то есть всех положительных делителей, отличных от самого числа).

Например, 6 — совершенное число, поскольку 1 + 2 + 3 = 6, а 1, 2 и 3 — делители числа 6.

Аналогично, совершенным числом является 28, поскольку 1 + 2 + 4 + 7 + 14 = 28.

🔵 Примеры:

check_perfect(6) ➞ True
check_perfect(28) ➞ True
check_perfect(496) ➞ True
check_perfect(12) ➞ False
check_perfect(97) ➞ False

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задача с кодом. Упорядоченные списки

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

🔵 Примеры:

check([1, 2, 3]) ➞ "increasing"
check([3, 2, 1]) ➞ "decreasing"
check([1, 2, 1]) ➞ "neither"
check([1, 1, 2]) ➞ "neither"

🔵 Примечания:

✔️ В последнем примере список не считается упорядоченным по возрастанию, потому что единица под индексом 1 не больше, чем единица под индексом 0.
✔️ Передаваемые списки будут содержать минимум 2 числа.

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задача с кодом. Верно ли неравенство?

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

🔵 Примеры:

correct_signs("3 < 7 < 11") ➞ True

correct_signs("13 > 44 > 33 > 1") ➞ False

correct_signs("1 < 2 < 6 < 9 > 3") ➞ True


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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 Задача с кодом. В центре или нет?

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

🔵 Примеры:
is_central(" # ") ➞ True

is_central(" 2 ") ➞ False

is_central("@") ➞ True

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1