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

РКН: https://kurl.ru/WPjOT
Download Telegram
Задача с кодом. Сколько чисел?

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

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

Примеры:

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

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

Примеры:
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
2
Задача с кодом. Как скоро вы накопите свой первый миллион?

Допустим, вы нашли свою работу мечты. В этой компании любопытная система оплаты: в геометрической прогрессии. За первый месяц вы получаете сумму 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
2🤣2👍1
🪙 Задача с кодом. Монетная кооперация

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

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

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

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

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

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
7
👩‍💻 Задача с кодом. Строка: палиндром или нет?

🔵 Условие:
Напишите функцию для проверки, является ли строка палиндромом. Палиндром — это слово или фраза, которые одинаково читаются слева направо и справа налево. Примеры палиндромов — число 101, слово «топот», фраза «А роза упала на лапу Азора».

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
6
👩‍💻 Задача с кодом. Меняем местами имя и фамилию

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

🔵 Примечание: между именем и фамилией будет ровно один пробел.

🔵 Примеры:
name_shuffle("Donald Trump") ➞ "Trump Donald"

name_shuffle("Rosie O'Donnell") ➞ "O'Donnell Rosie"

name_shuffle("Seymour Butts") ➞ "Butts Seymour"


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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3🤬2
👩‍💻 Задача с кодом. Денежный формат

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

🔵 Примечания:
↘️ Нужно обязательно округлять дробную часть числа до сотых. Обратите внимание, что дробная часть числа в денежном формате отделяется точкой, а тысячи разделяются запятыми.
↘️ В функцию могут передаваться как положительные, так и отрицательные числа.

🔵 Примеры:
dolla_dolla_bills(10) ➞ "$10.00"

dolla_dolla_bills(1000000) ➞ "$1,000,000.00"

dolla_dolla_bills(-314159.2653) ➞ "-$314,159.27"

dolla_dolla_bills(-56.99) ➞ "-$56.99"

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
👩‍💻 Задача с кодом. Дата неделю спустя

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

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

↘️ Функция и принимает, и возвращает строку
↘️ Дата должна иметь формат день/месяц/год
↘️ Если число или месяц обозначаются одной цифрой, перед ней ставим ноль (т.е. 1 января — 01/01).

🔵 Примеры:
week_after("12/03/2020") ➞ "19/03/2020"

week_after("21/12/1989") ➞ "28/12/1989"

week_after("01/01/2000") ➞ "08/01/2000"

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱2👍1
👩‍💻 Задача с кодом. Конкатенация списков

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

🔵 Обратите внимание: конкатенация должна проходить в том порядке, в котором списки переданы.

🔵 Примеры:
concat([1, 2, 3], [4, 5], [6, 7]) 
➞ [1, 2, 3, 4, 5, 6, 7]

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

concat([1, 2], [3, 4])
➞ [1, 2, 3, 4]

concat([4, 4, 4, 4, 4])
➞ [4, 4, 4, 4, 4]

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

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