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
🪙 Задача с кодом. Монетная кооперация

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

Если бросить монетку в аппарат, человек, стоящий за стеной, получит 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