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

РКН: https://rknn.link/car
Download Telegram
👩‍💻 Задача с кодом. Самый длительный период времени

Напишите функцию, которая будет принимать три значения: h (часы), m (минуты), s (секунды). Функция должна возвращать значение, соответствующее самому длительному периоду времени.

🔵 Примечание: среди передаваемых временных промежутков не будет одинаковых.

🔵 Примеры:

longest_time(1, 59, 3598) ➞ 1

longest_time(2, 300, 15000) ➞ 300

longest_time(15, 955, 59400) ➞ 59400

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥1🥰1
👩‍💻 Задача с кодом. Лишние знаки

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

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

✔️ Повторяющиеся знаки исправляем только в конце предложения (внутри строки оставляем без изменений).
✔️ Во входящей строке не будет смешанных знаков (типа ?!??!).
✔️ Если в конце входящего предложения вопросительные или восклицательные знаки отсутствуют, возвращаем его без изменений.
✔️ Если в конце только один вопросительный или восклицательный знак, оставляем его без изменения.

🔵 Примеры:

no_yelling("What went wrong?????????") 
➞ "What went wrong?"

no_yelling("Oh my goodness!!!")
➞ "Oh my goodness!"

no_yelling("I just!!! can!!! not!!! believe!!! it!!!")
➞ "I just!!! can!!! not!!! believe!!! it!"

no_yelling("Oh my goodness!")
➞ "Oh my goodness!"

no_yelling("I just cannot believe it.")
➞ "I just cannot believe it."


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

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

Дан список чисел. Все числа целые, не отрицательные. Количество чисел четное.

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

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

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

🔵 Примеры:

balanced([1, 2, 4, 6, 3, 1]) 
➞ [6, 3, 1, 6, 3, 1]
# 1 + 2 + 4 < 6 + 3 + 1
# Итоговый список [6, 3, 1, 6, 3, 1]

balanced([88, 3, 27, 5, 9, 0, 13, 10])
➞ [88, 3, 27, 5, 88, 3, 27, 5]
# 88 + 3 + 27 + 5 > 9 + 0 + 13 + 10
# Итоговый список [88, 3, 27, 5, 88, 3, 27, 5]

balanced([7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6])
➞ [7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]
# 7 + 5 + 2 + 6 + 1 + 0 = 1 + 5 + 2 + 7 + 0 + 6
# Итоговый список [7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]

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

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

▶️ Условие: В каждом входящем списке все элементы кроме двух повторяются хотя бы один раз. Напишите функцию, которая выводит два этих уникальных элемента, сохраняя их порядок в исходном списке.

▶️ Примеры:
return_unique([1, 9, 8, 8, 7, 6, 1, 6]) ➞ [9, 7]
return_unique([5, 5, 2, 4, 4, 4, 9, 9, 9, 1]) ➞ [2, 1]
return_unique([9, 5, 6, 8, 7, 7, 1, 1, 1, 1, 1, 9, 8]) ➞ [5, 6]


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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Задача с кодом. Сиракузская последовательность

Сиракузская последовательность генерируется следующим образом. Берем любое натуральное число 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
1👏1
Задача с кодом. Сколько коробок?

Вы работаете на фабрике. Ваша задача — забирать товары с конвейера и паковать их в коробки. Каждая коробка выдерживает максимум 10 кг.

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

В списке всегда будет как минимум один элемент. Все веса будут меньше или равны 10 кг. Упаковываться товары должны в том порядке, в котором стоят в списке.

Пример:

boxes([2, 1, 2, 5, 4, 3, 6, 1, 1, 9, 3, 2]) ➞ 5

# Box 1 = [2, 1, 2, 5] (10kg)
# Box 2 = [4, 3] (7kg)
# Box 3 = [6, 1, 1] (8kg)
# Box 4 = [9] (9kg)
# Box 5 = [3, 2] (5kg)

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

#задача #coding
1