Задача с кодом. Расстояние между точками
Напишите функцию, которая будет принимать координаты двух точек (в двумерной декартовой системе координат) и возвращать расстояние между этими точками.
Координаты будут передаваться в функцию в виде строки из четырех чисел через запятую:
Примечание: если расстояние окажется числом с плавающей запятой, его нужно округлить до сотых (например, 2.34).
Примеры:
#задача #coding
Напишите функцию, которая будет принимать координаты двух точек (в двумерной декартовой системе координат) и возвращать расстояние между этими точками.
Координаты будут передаваться в функцию в виде строки из четырех чисел через запятую:
"x1,y1,x2,y2"
, где x1,y1
— координаты первой точки, а x2,y2
— координаты второй.Примечание: если расстояние окажется числом с плавающей запятой, его нужно округлить до сотых (например, 2.34).
Примеры:
shortestDistance("1,1,2,1") ➞ 1Решение на нашем сайте.
shortestDistance("1,1,3,1") ➞ 2
shortestDistance("-5,1,3,1") ➞ 8
shortestDistance("-5,2,3,1") ➞ 8.06
#задача #coding
Задача с кодом. Возраст отца и сына
Создайте функцию, которая будет принимать два аргумента: возраст отца
Примеры:
#задача #coding
Создайте функцию, которая будет принимать два аргумента: возраст отца
f_age
и возраст сына s_age
. Функция должна высчитывать, сколько лет назад отец был или через сколько лет он будет в два раза старше сына.Примеры:
age_difference(36, 7) ➞ 22Решение на нашем сайте.
# Через 22 года отцу будет 58 лет, а сыну 29
age_difference(55, 30) ➞ 5
# 5 лет назад отцу было 50, а сыну 25
age_difference(42, 21) ➞ 0
#задача #coding
Задача с кодом. Сколько нулей?
Напишите функцию, которая будет принимать число
Формула факториала:
Примеры:
#задача #coding
Напишите функцию, которая будет принимать число
n
и возвращать количество нулей, стоящих в конце факториала этого числа.Формула факториала:
n! = 1 * 2 * 3 * ... * n
Подсказка: не нужно вычислять факториал. Постарайтесь найти другой способ определения количества нулей.Примеры:
trailing_zeros(0) ➞ 0Решение на нашем сайте.
# 0! = 1
# Нулей нет
trailing_zeros(6) ➞ 1
# 6! = 120
# 1 нуль в конце
trailing_zeros(1000) ➞ 249
# 1000! имеет 249 нулей в конце
#задача #coding
Задача с кодом. Список сумм чисел в списке
Нужно написать функцию. Она будет принимать список положительных целых чисел. Возвращаться будет список чисел, имеющий такую же длину, что и исходный. Формироваться он должен по следующему принципу.
Под индексом 0 в итоговом списке должна быть сумма чисел исходного списка без числа под индексом 0 в исходном. Под индексом 1 в итоговом списке должна быть сумма чисел исходного списка без числа под индексом 1 в исходном. И так далее.
Пример для списка [1, 2, 3, 4]
Итоговый список, по индексам:
0 ➞ 2+3+4 = 9
1 ➞ 1+3+4 = 8
2 ➞ 1+2+4 = 7
3 ➞ 1+2+3 = 6
Итоговый список — [9, 8, 7, 6]
Другие примеры:
#задача #coding
Нужно написать функцию. Она будет принимать список положительных целых чисел. Возвращаться будет список чисел, имеющий такую же длину, что и исходный. Формироваться он должен по следующему принципу.
Под индексом 0 в итоговом списке должна быть сумма чисел исходного списка без числа под индексом 0 в исходном. Под индексом 1 в итоговом списке должна быть сумма чисел исходного списка без числа под индексом 1 в исходном. И так далее.
Пример для списка [1, 2, 3, 4]
Итоговый список, по индексам:
0 ➞ 2+3+4 = 9
1 ➞ 1+3+4 = 8
2 ➞ 1+2+4 = 7
3 ➞ 1+2+3 = 6
Итоговый список — [9, 8, 7, 6]
Другие примеры:
lst_ele_sum([1, 2, 3, 2, 1]) ➞ [8, 7, 6, 7, 8]Решение на нашем сайте.
lst_ele_sum([1, 2]) ➞ [2, 1]
lst_ele_sum([1, 2, 3]) ➞ [5, 4, 3]
lst_ele_sum([1, 2, 3, 4, 5]) ➞ [14, 13, 12, 11, 10]
lst_ele_sum([10, 20, 30, 40, 50, 60]) ➞ [200, 190, 180, 170, 160, 150]
#задача #coding
Задача с кодом. Подсчитываем одинокие единицы
Напишите функцию, которая будет подсчитывать количество одиночно стоящих единиц в числе. «Одинокими» считаем единицы, которые не идут «партиями» по две и больше подряд.
Исходим из того, что в функцию будут передаваться только целые положительные числа.
Примеры:
#задача #coding
Напишите функцию, которая будет подсчитывать количество одиночно стоящих единиц в числе. «Одинокими» считаем единицы, которые не идут «партиями» по две и больше подряд.
Исходим из того, что в функцию будут передаваться только целые положительные числа.
Примеры:
count_lone_ones(101) ➞ 2Решение на нашем сайте.
count_lone_ones(1191) ➞ 1
count_lone_ones(1111) ➞ 0
count_lone_ones(462) ➞ 0
#задача #coding
Pythonist
Подсчитываем одинокие единицы: задача на программирование
Напишите функцию, которая будет подсчитывать количество одиночно стоящих единиц в числе. «Одинокими» считаем единицы, которые не идут «партиями» по две и больше подряд.
Задача с кодом. Лишняя функция
Напишите функцию, которая будет принимать строку и возвращать функцию, возвращающую эту строку. Обратите внимание, что ваша функция должна вернуть именно функцию, а не строку.
Примеры:
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет принимать строку и возвращать функцию, возвращающую эту строку. Обратите внимание, что ваша функция должна вернуть именно функцию, а не строку.
Примеры:
f1 = redundant("apple")
f1() ➞ "apple"
f2 = redundant("pear")
f2() ➞ "pear"
f3 = redundant("")
f3() ➞ ""
Решение на нашем сайте.
#задача #coding
Задача с кодом. Валидаторы смещения и умножения
Создайте два валидатора. Первая функция-валидатор (
Вторая функция-валидатор (
Примеры:
Решение на нашем сайте.
#задача #coding
Создайте два валидатора. Первая функция-валидатор (
is_shifted
) должна принимать два списка чисел одинаковой длины и проверять, образован ли второй список путем смещения каждого элемента первого списка на число-константу.Вторая функция-валидатор (
is_multiplied
) должна работать аналогично, только проверять, образован ли второй список путем умножения каждого элемента первого списка на константу.Примеры:
is_shifted([1, 2, 3], [2, 3, 4]) ➞ True
# Каждый элемент смещен на +1
is_shifted([1, 2, 3], [-9, -8, -7]) ➞ True
# Каждый элемент смещен на -10
is_multiplied([1, 2, 3], [10, 20, 30]) ➞ True
# Каждый элемент умножен на 10
is_multiplied([1, 2, 3], [-0.5, -1, -1.5]) ➞ True
# Каждый элемент умножен на -1/2
is_multiplied([1, 2, 3], [0, 0, 0]) ➞ True
# Каждый элемент умножен на 0
Решение на нашем сайте.
#задача #coding
Задача с кодом. Половина от половины
Напишите рекурсивную функцию, которая будет принимать два целых числа,
Значение аргумента
Примеры:
Решение на нашем сайте.
#задача #coding
Напишите рекурсивную функцию, которая будет принимать два целых числа,
a
и b
, и возвращать, сколько раз можно разделить a
на 2, пока получающаяся половина будет оставаться больше b
.Значение аргумента
a
всегда будет как минимум вдвое больше значения b
.Примеры:
halve_count(4666, 544) ➞ 3
# (4666 -> 2333 -> 1166.5 -> 583.25)
halve_count(624, 8) ➞ 6
# (624 -> 312 -> 156 -> 78 -> 39 -> 19.5 -> 9.75)
halve_count(1000, 3) ➞ 8
# (1000 -> 500 -> 250 -> 125 -> 62.5 -> 31.25 -> 15.625 -> 7.8125 -> 3.90625)
Решение на нашем сайте.
#задача #coding
Задача с кодом. Количество дней между двумя датами
Напишите функцию, которая будет принимать две даты и возвращать количество дней между первой и второй.
Примечания:
- даты не обязательно будут относиться к одному месяцу или году
- если даты переданы в обратном порядке, нужно вернуть отрицательное число.
Примеры:
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет принимать две даты и возвращать количество дней между первой и второй.
Примечания:
- даты не обязательно будут относиться к одному месяцу или году
- если даты переданы в обратном порядке, нужно вернуть отрицательное число.
Примеры:
get_days(
datetime.date(2019, 6, 14), # 14 июня 2019
datetime.date(2019, 6, 20) # 20 июня 2019
) ➞ 6
get_days(
datetime.date(2018, 12, 29), # 29 декабря 2018
datetime.date(2019, 1, 1) # 1 января 2019
) ➞ 3
get_days(
datetime.date(2020, 5, 24),
datetime.date(2019, 5, 24))
) ➞ -366
Решение на нашем сайте.
#задача #coding
Задача с кодом. Негатив
Предположим, у вас есть изображение, которое можно представить в виде двумерного списка нулей и единиц. Напишите функцию для создания «негатива» этого изображения. Она должна заменить все нули единицами, а единицы нулями.
Пример:
Решение на нашем сайте.
#задача #coding
Предположим, у вас есть изображение, которое можно представить в виде двумерного списка нулей и единиц. Напишите функцию для создания «негатива» этого изображения. Она должна заменить все нули единицами, а единицы нулями.
Пример:
reverse_image([
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]
])
➞ [
[0, 1, 1],
[1, 0, 1],
[1, 1, 0]
]
Решение на нашем сайте.
#задача #coding
Задача с кодом. Комплементарная РНК
Напишите функцию, которая будет находить обратную комплементарную цепочку заданной цепочки рибонуклеиновой кислоты (РНК).
РНК будет представлена в виде строки, содержащей только символы «A», «C», «G» и «U». Это первые буквы названий составных частей нуклеиновых кислот — аденина, цитозина, гуанина и урацила.
Комплементарными друг для друга являются аденин и урацил, гуанин и цитозин (т. е. пары A/U и G/C). Поэтому комплементарные цепочки РНК будут такими:
Ваша функция должна выстроить правильную комплементарную цепочку, а потом еще и обратить результирующую строку.
Примечание: исходим из того, что инпут всегда будет валидным.
Примеры:
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет находить обратную комплементарную цепочку заданной цепочки рибонуклеиновой кислоты (РНК).
РНК будет представлена в виде строки, содержащей только символы «A», «C», «G» и «U». Это первые буквы названий составных частей нуклеиновых кислот — аденина, цитозина, гуанина и урацила.
Комплементарными друг для друга являются аденин и урацил, гуанин и цитозин (т. е. пары A/U и G/C). Поэтому комплементарные цепочки РНК будут такими:
исходная цепочка -> комплементарная
"AAA" -> "UUU"
"UUU" -> "AAA"
"GGG" -> "CCC"
"CCC" -> "GGG"
"GGAACC" -> "CCUUGG"
Ваша функция должна выстроить правильную комплементарную цепочку, а потом еще и обратить результирующую строку.
Примечание: исходим из того, что инпут всегда будет валидным.
Примеры:
reverse_complement("GUGU") ➞ "ACAC"
reverse_complement("UCUCG") ➞ "CGAGA"
reverse_complement("CAGGU") ➞ "ACCUG"
Решение на нашем сайте.
#задача #coding
Задача с кодом. Сортировка авторов
Напишите функцию, которая будет сортировать список авторов книг по их фамилиям.
Примечания:
- В списке могут содержаться как полные имена, так и инициалы.
- Если указывается не только фамилия, то она идет последней (т.е. Александр Пушкин, а не Пушкин Александр).
- Имена, фамилии, инициалы могут писаться буквами в разных регистрах.
- Если две фамилии начинаются с одной буквы, верните их в том порядке, в котором они стоят в списке.
- Обратите внимание на пробелы между инициалами.
Примеры:
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет сортировать список авторов книг по их фамилиям.
Примечания:
- В списке могут содержаться как полные имена, так и инициалы.
- Если указывается не только фамилия, то она идет последней (т.е. Александр Пушкин, а не Пушкин Александр).
- Имена, фамилии, инициалы могут писаться буквами в разных регистрах.
- Если две фамилии начинаются с одной буквы, верните их в том порядке, в котором они стоят в списке.
- Обратите внимание на пробелы между инициалами.
Примеры:
sort_authors(["J. K. Rowling", "w. s.", "lewis carroll", "M. M."])
➞ ["lewis carroll", "M. M.", "J. K. Rowling", "w. s."]
sort_authors(["J. L.", "J. B. priestley", "L. C.", "Suzanne Collins"])
➞ ["L. C.", "Suzanne Collins", "J. L.", "J. B. priestley"]
Решение на нашем сайте.
#задача #coding
Задача с кодом. Сумма пропущенных чисел
Создайте функцию, которая будет принимать список чисел и возвращать сумму чисел, пропущенных в списке.
Пропущенные числа — те, которых недостает в диапазоне от минимального до максимального числа в списке.
Примеры:
Решение на нашем сайте.
#задача #coding
Создайте функцию, которая будет принимать список чисел и возвращать сумму чисел, пропущенных в списке.
Пропущенные числа — те, которых недостает в диапазоне от минимального до максимального числа в списке.
Примеры:
sum_missing_numbers([4, 3, 8, 1, 2]) ➞ 18
# 5 + 6 + 7 = 18
sum_missing_numbers([17, 16, 15, 10, 11, 12]) ➞ 27
# 13 + 14 = 27
sum_missing_numbers([1, 2, 3, 4, 5]) ➞ 0
# Тут нет пропущенных чисел (все числа в диапазоне [1, 5] присутствуют в списке)
Решение на нашем сайте.
#задача #coding
Задача с кодом на ночь). Процент снижения или увеличения цены
Напишите функцию, которая будет принимать старую и новую цену товара и возвращать процент, на который цена повысилась (increase) или понизилась (decrease). Проценты нужно округлять до ближайшего целого числа.
Примеры:
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет принимать старую и новую цену товара и возвращать процент, на который цена повысилась (increase) или понизилась (decrease). Проценты нужно округлять до ближайшего целого числа.
Примеры:
percentage_changed("$800", "$600")
➞ "25% decrease"
percentage_changed("$1000", "$840")
➞ "16% decrease"
percentage_changed("$100", "$950")
➞ "850% increase"
Решение на нашем сайте.
#задача #coding
Задача с кодом. Телефонный номер
Напишите функцию, которая будет принимать строку и проверять, является ли инпут телефонным номером в валидном формате. Исходим из того, что любые числа 0-9, правильно расставленные, образуют телефонный номер.
Образец валидного номера — (123) 456-7890.
Примечание: не забудьте добавить пробел после закрытия скобки.
Примеры:
#задача #coding
Напишите функцию, которая будет принимать строку и проверять, является ли инпут телефонным номером в валидном формате. Исходим из того, что любые числа 0-9, правильно расставленные, образуют телефонный номер.
Образец валидного номера — (123) 456-7890.
Примечание: не забудьте добавить пробел после закрытия скобки.
Примеры:
is_valid_phone_number("(123) 456-7890") ➞ True
is_valid_phone_number("1111)555 2345") ➞ False
is_valid_phone_number("098) 123 4567") ➞ False
Решение на нашем сайте.#задача #coding
Задача с кодом. Соедините числа дефисами
Напишите функцию, которая будет принимать число n и возвращать строку, состоящую из всех чисел до n включительно. Все цифры должны отделяться друг от друга дефисами.
Примечание: числа должны идти по порядку, строка должна начинаться с 1 и заканчиваться последней цифрой числа n.
Примеры:
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет принимать число n и возвращать строку, состоящую из всех чисел до n включительно. Все цифры должны отделяться друг от друга дефисами.
Примечание: числа должны идти по порядку, строка должна начинаться с 1 и заканчиваться последней цифрой числа n.
Примеры:
join_digits(4)
➞ "1-2-3-4"
join_digits(11)
➞ "1-2-3-4-5-6-7-8-9-1-0-1-1"
join_digits(15)
➞ "1-2-3-4-5-6-7-8-9-1-0-1-1-1-2-1-3-1-4-1-5"
Решение на нашем сайте.
#задача #coding
Задача с кодом. Одинаковые буквы
Напишите функцию, которая будет принимать две строки и возвращать строку, состоящую из букв, общих для переданных ей строк.
Примеры:
Примечания:
- Если совпадений букв нет, функция должна вернуть пустую строку
- Функция должна быть нечувствительной к регистру (если в одной строке есть буква
- Буквы в итоговой строке должны быть отсортированы перед ее возвратом.
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет принимать две строки и возвращать строку, состоящую из букв, общих для переданных ей строк.
Примеры:
shared_letters("house", "home") ➞ "eho"
shared_letters("Micky", "mouse") ➞ "m"
shared_letters("house", "villa") ➞ ""
Примечания:
- Если совпадений букв нет, функция должна вернуть пустую строку
- Функция должна быть нечувствительной к регистру (если в одной строке есть буква
A
, а в другой a
, то функция возвращает a
.- Буквы в итоговой строке должны быть отсортированы перед ее возвратом.
Решение на нашем сайте.
#задача #coding
Задача с кодом. Инвертируем ключи и значения в словаре
Напишите функцию, которая будет менять местами ключи и значения в словаре.
Примеры:
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет менять местами ключи и значения в словаре.
Примеры:
invert({ "z": "q", "w": "f" })
➞ { "q": "z", "f": "w" }
invert({ "a": 1, "b": 2, "c": 3 })
➞ { 1: "a", 2: "b", 3: "c" }
invert({ "zebra": "koala", "horse": "camel" })
➞ { "koala": "zebra", "camel": "horse" }
Решение на нашем сайте.
#задача #coding
Задача с кодом. Множественное число существительных
Напишите функцию, которая будет принимать существительные в единственном числе и возвращать те же существительные, но если какие-то из них встречаются больше одного раза, именно эти слова должны возвращаться во множественном числе.
Примеры
Примечания
- Передаваться будут только слова на английском языке.
- Для упрощения будем считать, что множественное число всегда образуется путем добавления окончания s.
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет принимать существительные в единственном числе и возвращать те же существительные, но если какие-то из них встречаются больше одного раза, именно эти слова должны возвращаться во множественном числе.
Примеры
pluralize(["cow", "pig", "cow", "cow"]) ➞ { "cows", "pig" }
pluralize(["table", "table", "table"]) ➞ { "tables" }
pluralize(["chair", "pencil", "arm"]) ➞ { "chair", "pencil", "arm" }
Примечания
- Передаваться будут только слова на английском языке.
- Для упрощения будем считать, что множественное число всегда образуется путем добавления окончания s.
Решение на нашем сайте.
#задача #coding
Задача с кодом. Смайлики
Из символов
- веселые смайлики :) и (: оцениваются в 1 балл,
- грустные смайлики :( и ): оцениваются в -1 балл.
Задание
Напишите функцию, которая будет принимать символы ( ) : в любых сочетаниях и возвращать итоговый счет по количеству веселых и грустных смайликов, которые составляются из переданной последовательности символов.
Рабочий пример
Другие примеры
Решение на нашем сайте.
#задача #coding
Из символов
( ) : можно составлять веселые и грустные смайлики. Для целей этой задачи:- веселые смайлики :) и (: оцениваются в 1 балл,
- грустные смайлики :( и ): оцениваются в -1 балл.
Задание
Напишите функцию, которая будет принимать символы ( ) : в любых сочетаниях и возвращать итоговый счет по количеству веселых и грустных смайликов, которые составляются из переданной последовательности символов.
Рабочий пример
happiness_number(":):(") ➞ -1
# 1-й и 2-й символы составляют :) +1 Итого: 1
# 2-й и 3-й символы составляют ): -1 Итого: 0
# 3-й и 4-й символы составляют :( -1 Итого: -1
Другие примеры
happiness_number(":):(") ➞ -1
happiness_number("(:)") ➞ 2
happiness_number("::::") ➞ 0
Решение на нашем сайте.
#задача #coding