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
Задача с кодом. Количество списков внутри списка

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

Примеры:
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