Задача с кодом. Нейтрализация
Напишите функцию, которая будет принимать две строки, состоящие из знаков «+» и «-», и возвращать строку — результат их взаимодействия.
Исходим из того, что строки, передаваемые в функцию, всегда будут равной длины. Переданные строки взаимодействуют следующим образом:
- плюс и плюс дают плюс
- минус и минус дают минус
- плюс и минус нейтрализуют друг друга и вместе дают 0.
Разбор примера
№ 1
#задача #coding
Напишите функцию, которая будет принимать две строки, состоящие из знаков «+» и «-», и возвращать строку — результат их взаимодействия.
Исходим из того, что строки, передаваемые в функцию, всегда будут равной длины. Переданные строки взаимодействуют следующим образом:
- плюс и плюс дают плюс
- минус и минус дают минус
- плюс и минус нейтрализуют друг друга и вместе дают 0.
Разбор примера
neutralise("+-+", "+--") ➞ "+-0"Другие примеры
# Сравниваем первые символы двух строк, потом следующие два символа и т.д.
# "+" и "+" возвращают "+".
# "-" и "-" возвращают "-".
# "+" и "-" возвращают "0".
# Возвращаем строку символов.
№ 1
neutralise("--++--", "++--++") ➞ "000000"№ 2
neutralise("-+-+-+", "-+-+-+") ➞ "-+-+-+"№ 3
neutralise("-++-", "-+-+") ➞ "-+00"Решение на нашем сайте.
#задача #coding
Задача с кодом. Цензура
Создайте функцию, которая будет принимать строку и цензурировать (закрывать звездочками) слова длиннее четырех букв.
Примечания:
- не цензурируйте слова, состоящие ровно из четырех букв
- если в строке все слова короткие (четыре буквы и меньше), верните исходную строку
- количество звездочек, замещающих слово, должно быть равным количеству букв в этом слове.
Примеры:
#задача #coding
Создайте функцию, которая будет принимать строку и цензурировать (закрывать звездочками) слова длиннее четырех букв.
Примечания:
- не цензурируйте слова, состоящие ровно из четырех букв
- если в строке все слова короткие (четыре буквы и меньше), верните исходную строку
- количество звездочек, замещающих слово, должно быть равным количеству букв в этом слове.
Примеры:
censor("The code is fourty")Решение на нашем сайте.
➞ "The code is ******"
censor("Two plus three is five")
➞ "Two plus ***** is five"
censor("aaaa aaaaa 1234 12345")
➞ "aaaa ***** 1234 *****"
#задача #coding
Задача для новичков
Напишите функцию
Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Напишите функцию
find_added_letter(s, t)
, которая приниает на вход две строки: s
и t
. Строка t
генерируется путем случайной перетасовки строки s
, а затем добавляется еще одна буква в случайную позицию. Верните букву, которая была добавлена к строке t
.Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Ответ к предыдущей задаче для новичков
# Функция, которая находит добавленную букву
#задача #coding
# Функция, которая находит добавленную букву
def find_added_letter(s, t):
count = {}
for char in t:
if char in count:
count[char] += 1
else:
count[char] = 1
for char in s:
count[char] -= 1
if count[char] == 0:
del count[char]
return list(count.keys())[0]
# Тесты для функции find_added_letter(s, t)def test_find_added_letter():
assert find_added_letter("abcd", "abcde") == "e"
assert find_added_letter("", "y") == "y"
assert find_added_letter("hello", "heoll") == "l"
assert find_added_letter("abc", "acb") == "b"
assert find_added_letter("xy", "xyz") == "z"
#задача #coding
Задача с кодом. Число Перрена
В последовательности Перрена каждое число представляет собой сумму двух чисел, стоящих перед этим числом на второй и третьей позиции. Первые три числа последовательности — 3, 0, 2.
Выглядит последовательность так:
Примеры:
#задача #coding
В последовательности Перрена каждое число представляет собой сумму двух чисел, стоящих перед этим числом на второй и третьей позиции. Первые три числа последовательности — 3, 0, 2.
Выглядит последовательность так:
P(0) P(1) P(2) P(3) P(4) P(5) P(6) P(7) ... P(n)Напишите функцию, которая будет принимать индекс числа в последовательности (n) и возвращать число Перрена под этим индексом — P(n).
3, 0, 2, 3, 2, 5, 5, 7, ...
Примеры:
perrin(1) ➞ 0Решение на нашем сайте.
perrin(8) ➞ 10
perrin(26) ➞ 1497
#задача #coding
Задача с кодом. Сумма диапазона чисел
Напишите функцию, которая будет принимать начальное и конечное число в диапазоне чисел и возвращать сумму всех чисел этого диапазона.
Примеры
#задача #coding
Напишите функцию, которая будет принимать начальное и конечное число в диапазоне чисел и возвращать сумму всех чисел этого диапазона.
Примеры
sum_problem(-10, 1) ➞ -54Решение на нашем сайте.
sum_problem(-20, 5) ➞ -195
sum_problem(90, 45) ➞ 3105
#задача #coding
Задача для новичков
Напишите функцию
Напишите также тесты с использованием
Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Напишите функцию
is_palindrome()
, которая принимает на вход число и проверяет, является ли оно палиндромом. Палиндромом называется число, которое одинаково читается слева направо и справа налево.Напишите также тесты с использованием
pytest
, чтобы проверить правильность работы функции на разных входных данных.Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding