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

РКН: https://kurl.ru/WPjOT
Download Telegram
Задача с кодом. Каждое слово — с большой буквы

Ваша задача — воспроизвести функционал метода title(), создав функцию emphasise(). Метод title() делает заглавной первую букву каждого слова, все остальные буквы переводятся в нижний регистр.

Примечания:

- С цифрами и прочими символами ничего делать не надо, работаем только с буквами.
- Пожалуйста, не используйте сам метод title()!

Примеры:

emphasise("hello world") ➞ "Hello World"
emphasise("GOOD MORNING") ➞ "Good Morning"
emphasise("99 red balloons!") ➞ "99 Red Balloons!"

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

#задача #coding
Задача с кодом. Наибольшее простое число в диапазоне

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

Примечания:

- В функцию будут передаваться только положительные целые числа.
- Простое число — такое целое положительное число, которое делится только на себя и на единицу.

Примеры

fat_prime(2, 10) ➞ 7
# диапазон [2, 3, 4, 5, 6, 7, 8, 9, 10], наибольшее простое число - 7.

fat_prime(10, 2) ➞ 7
# [10, 9, 8, 7, 6, 5, 4, 3, 2], наибольшее простое число - 7.

fat_prime(4, 24) ➞ 23
# [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] наибольшее простое число - 23.

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

#задача #coding
Задача с кодом. Собираем и разбираем строку

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

Пример

construct_deconstruct("the sun") ➞ [
"t",
"th",
"the",
"the ",
"the s",
"the su",
"the sun",
"the su",
"the s",
"the ",
"the",
"th",
"t"
]
# Обратите внимание на пробел

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

#задача #coding
Задача с кодом. Слияние списков

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

Функция принимает список списков и целевой список и возвращает True или False.

Порядок чисел в списках не имеет значения (см. пример 2).

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

Примеры:

canConcatenate([[1, 2, 3, 4], [5, 6], [7]], [1, 2, 3, 4, 5, 6, 7]) 
➞ True
canConcatenate([[2, 1, 3], [5, 4, 7, 6]], [7, 6, 5, 4, 3, 2, 1])
➞ True

canConcatenate([[2, 1, 3], [5, 4, 7, 6, 7]], [1, 2, 3, 4, 5, 6, 7])
➞ False
# В целевом списке только одна 7, а во вложенном их две.

canConcatenate([[2, 1, 3], [5, 4, 7]], [1, 2, 3, 4, 5, 6, 7])
➞ False
# Во вложенном списке нет 6.

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

#задача #coding
Задача с кодом. Сколько чисел?

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

Вложенный список может содержать числа, строки и пустые списки.

Примеры:

count_number([["", 17.2, 5, "edabit"]]) ➞ 2
# 17.2 и 5.

count_number([[[[[2, 14]]], 2, 3, 4]]) ➞ 5
# 2, 14, 2, 3 и 4.

count_number([["number"]]) ➞ 0

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

#задача #coding
Задача с кодом. Количество списков внутри списка

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

Примеры:
num_of_sublists([[1, 2, 3]]) ➞ 1
num_of_sublists([[1, 2, 3], [1, 2, 3], [1, 2, 3]]) ➞ 3
num_of_sublists([[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]) ➞ 4
num_of_sublists([1, 2, 3]) ➞ 0

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

#задача #coding
Задача с кодом. Как скоро вы накопите свой первый миллион?

Допустим, вы нашли свою работу мечты. В этой компании любопытная система оплаты: в геометрической прогрессии. За первый месяц вы получаете сумму first_month, но уже в следующем месяце ваша зарплата вырастет в multiplier раз.

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

Предположим, что вы ничего не тратите из зарплаты, пока не накопите больше миллиона.

Примеры:
million_in_month(10, 2) ➞ 17
million_in_month(100, 1.01) ➞ 464

million_in_month(50, 100) ➞ 4
1m = 50
2m= 5050
3m = 505050
4m = 50505050

Примечания:
Не забудьте вернуть результат в месяцах. Накопить нужно больше миллиона (savings > 1000000).

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

#задача #coding
🪙 Задача с кодом. Монетная кооперация

В стену вмонтирован специальный аппарат, выдающий монетки. За стеной с каждой стороны стоит человек. Оба они могут взаимодействовать с аппаратом.

Если бросить монетку в аппарат, человек, стоящий за стеной, получит 3 монетки. И наоборот.

Если оба человека будут честно тратить свои монетки, чтобы второй получил прибыль (т.е. делиться, share), оба они будут получать по 2 монетки прибыли по очереди.

Но всегда есть вероятность, что кто-то поступит эгоистично (steal): не захочет тратить свои монетки, но с радостью заберет 3 монетки прибыли, если второй поделится.

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

Примеры
balances(["share"], ["share"]) ➞ [5, 5]
# Оба человека тратят по монетке и получают по 3.

get_coin_balances(["steal"], ["share"]) ➞ [6, 2]
# Первый человек получает 3 монетки, второй тратит одну.

get_coin_balances(["steal"], ["steal"]) ➞ [3, 3]
# Никто ничего не тратит и не получает, остаются при своих.

get_coin_balances(["share", "share", "share"], ["steal", "share", "steal"]) ➞ [3, 11]

Примечания
- В «минус» никто не уйдет, так что числа всегда будут положительными.
- Слова будут передаваться в нижнем регистре.

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача с кодом. Группы из трех букв

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

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

Разбор примера

three_letter_collection("python") ➞ ["hon", "pyt", "tho", "yth"]
# 1-я группа: "hon"
# 2-я группа: "pyt"
# 3-я группа: "tho"
# 4-я группа: "yth"
# Не забудьте отсортировать список!

Другие примеры

three_letter_collection("slap") ➞ ["lap", "sla"]
three_letter_collection("click") ➞ ["cli", "ick", "lic"]
three_letter_collection("cat") ➞ ["cat"]
three_letter_collection("hi") ➞ []

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

#задача #coding