Задача с кодом. Пишем функцию для «тупого добавления»
Условие: Создайте функцию, которая принимает два параметра. Если оба параметра — строки, то сложите их математически, если оба — integer, тогда сконкатенируйте их. Если параметры разного типа — верните None.
Примеры:
#задача #coding
Условие: Создайте функцию, которая принимает два параметра. Если оба параметра — строки, то сложите их математически, если оба — integer, тогда сконкатенируйте их. Если параметры разного типа — верните None.
Примеры:
stupid_addition(1, 2) ➞ "12"Решение на нашем сайте.
stupid_addition("1", "2") ➞ 3
stupid_addition("1", 2) ➞ None
#задача #coding
Задача с кодом. Скользящие числа
Напишите функцию, принимающую число и проверяющую, является ли оно «скользящим». Скользящее число — такое число, соседние цифры которого отличаются между собой на единицу.
Примеры:
Если число записывается одной цифрой, оно считается скользящим.
Решение на нашем сайте.
#задача #coding
Напишите функцию, принимающую число и проверяющую, является ли оно «скользящим». Скользящее число — такое число, соседние цифры которого отличаются между собой на единицу.
Примеры:
is_slidey(123454321) ➞ TrueОбратите внимание на примеры 4 и 5. Если в числе идут подряд одинаковые цифры или какая-то цифра в ряду пропущена, такое число мы не считаем скользящим.
is_slidey(54345) ➞ True
is_slidey(987654321) ➞ True
is_slidey(1123) ➞ False
is_slidey(1357) ➞ False
is_slidey(1) ➞ True
Если число записывается одной цифрой, оно считается скользящим.
Решение на нашем сайте.
#задача #coding
Задача для новичков
Уродливое число — это положительное целое число, простыми множителями которого могут быть только числа
Напишите функцию
Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Уродливое число — это положительное целое число, простыми множителями которого могут быть только числа
2
, 3
и 5
. Напишите функцию
isUgly(n: int)
, которая принимает на вход целое число n и возвращает True
, если число уродливое, и False
в противном случае. Также напишите тесты для этой функции, чтобы убедиться, что она работает нормально.Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Ответ к предыдущей задаче для новичков
# Функция для проверки числа на "уродливость"
#задача #coding
# Функция для проверки числа на "уродливость"
def isUgly(n):
if n <= 0:
return False
while n % 2 == 0:
n /= 2
while n % 3 == 0:
n /= 3
while n % 5 == 0:
n /= 5
return n == 1
# Тесты для функции isUrgly()def test_is_ugly():
assert is_ugly(6) == True
assert is_ugly(1) == True
assert is_ugly(14) == False
assert is_ugly(0) == False
assert is_ugly(-6) == False
#задача #coding
Задача с кодом. Годится ли гора для восхождения?
Напишите функцию, которая будет принимать список чисел, представляющих отдельные высоты горы, и определять, годится ли такая гора для восхождения на нее.
Пригодными для восхождения горами будем считать те, где разница между соседними высотами не превышает 5 единиц.
Примечание. Список может начинаться с любого числа и быть любой длины.
Примеры:
#задача #coding
Напишите функцию, которая будет принимать список чисел, представляющих отдельные высоты горы, и определять, годится ли такая гора для восхождения на нее.
Пригодными для восхождения горами будем считать те, где разница между соседними высотами не превышает 5 единиц.
Примечание. Список может начинаться с любого числа и быть любой длины.
Примеры:
is_scalable([1, 2, 4, 6, 7, 8]) ➞ TrueРешение на нашем сайте.
is_scalable([40, 45, 50, 45, 47, 52]) ➞ True
is_scalable([2, 9, 11, 10, 18, 21]) ➞ False
#задача #coding
Задача с кодом. Складываем концы
Создайте функцию, которая будет принимать список чисел любой длины и подсчитывать, сколько из этих чисел соответствуют следующему критерию: первая и последняя цифра числа в сумме должны давать 10.
Примечания:
- все элементы списка будут числами
- знак «минус» игнорируйте (см. пример 2)
- если список пуст, возвращаем 0.
Примеры:
#задача #coding
Создайте функцию, которая будет принимать список чисел любой длины и подсчитывать, сколько из этих чисел соответствуют следующему критерию: первая и последняя цифра числа в сумме должны давать 10.
Примечания:
- все элементы списка будут числами
- знак «минус» игнорируйте (см. пример 2)
- если список пуст, возвращаем 0.
Примеры:
ends_add_to_10([19, 46, 2098]) ➞ 3Решение на нашем сайте.
ends_add_to_10([33, 44, -55]) ➞ 1
ends_add_to_10([]) ➞ 0
#задача #coding
Задача для новичков
Напишите функцию
Возвращаемое целое число также должно быть неотрицательным.
Вы не должны использовать какие-либо встроенные экспонентные функции или операторы. Также напишите тесты для этой функции, чтобы убедиться, что она работает нормально.
Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Напишите функцию
mySqrt(n)
, которая принимает целое неотрицательное число n
и возвращает квадратный корень из n
, округленный в меньшую сторону до ближайшего целого числа. Возвращаемое целое число также должно быть неотрицательным.
Вы не должны использовать какие-либо встроенные экспонентные функции или операторы. Также напишите тесты для этой функции, чтобы убедиться, что она работает нормально.
Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Ответ к предыдущей задаче для новичков
# Функция для вычисления округленного квадратного корня
#задача #coding
# Функция для вычисления округленного квадратного корня
def mySqrt(n):
if n == 0:
return 0
if n == 1:
return 1
for i in range(1, n + 1):
if i * i > n:
return i - 1
# Тесты для функции mySqrt()def test_mySqrt():
assert mySqrt(0) == 0
assert mySqrt(4) == 2
assert mySqrt(9) == 3
assert mySqrt(16) == 4
assert mySqrt(17) == 4
assert mySqrt(25) == 5
assert mySqrt(26) == 5
assert mySqrt(30) == 5
assert mySqrt(31) == 5
#задача #coding
Задача с кодом. Равны ли последние цифры?
Напишите функцию, которая будет принимать три числа (a, b, c) и возвращать True, если последняя цифра произведения
Примеры:
#задача #coding
Напишите функцию, которая будет принимать три числа (a, b, c) и возвращать True, если последняя цифра произведения
a * b
равна последней цифре числа c
.Примеры:
last_dig(25, 21, 125) ➞ TrueРешение на нашем сайте.
# 25 * 21 = 525, последняя цифра - 5.
# Последняя цифра 125 - тоже 5.
last_dig(55, 226, 5190) ➞ True
last_dig(12, 215, 2142) ➞ False
#задача #coding
Задача с кодом. Пронумерованные карты
У вас и вашего соперника есть по 5 самодельных карт. Каждая карта помечена какой-нибудь цифрой от 0 до 9 (случайным образом, повторы возможны). Выигрывает тот, кто сумел составить наибольшее двузначное число из имеющихся у него цифр.
Напишите функцию, которая будет принимать два списка из 5 цифр каждый (первый — ваш, второй — вашего соперника) и возвращать True, если в этом раунде побеждаете вы. В случае ничьей или победы соперника возвращается False.
Разбор примера
#задача #coding
У вас и вашего соперника есть по 5 самодельных карт. Каждая карта помечена какой-нибудь цифрой от 0 до 9 (случайным образом, повторы возможны). Выигрывает тот, кто сумел составить наибольшее двузначное число из имеющихся у него цифр.
Напишите функцию, которая будет принимать два списка из 5 цифр каждый (первый — ваш, второй — вашего соперника) и возвращать True, если в этом раунде побеждаете вы. В случае ничьей или победы соперника возвращается False.
Разбор примера
win_round([2, 5, 2, 6, 9], [3, 7, 3, 1, 2]) ➞ TrueПримеры:
# Из ваших цифр можно составить число 96
# Ваш соперник может составить число 73
# В этом раунде побеждаете вы, потому что 96 > 73
win_round([2, 5, 2, 6, 9], [3, 7, 3, 1, 2]) ➞ TrueРешение на нашем сайте.
win_round([1, 2, 3, 4, 5], [9, 8, 7, 6, 5]) ➞ False
win_round([4, 3, 4, 4, 5], [3, 2, 5, 4, 1]) ➞ False
#задача #coding
Задача для новичков
Напишите функцию
Целое число
Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Напишите функцию
isPowerOfFour(n)
, которая принимает целое число n
и возвращает True
, если данное число является степенью числа 4
. В противном случае она должна вернуть значение False
. Целое число
n
является степенью числа четыре, если существует целое число x
такое, что n == 4^x
.Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Ответ к предыдущей задаче для новичков
# Функция которая проверяет является ли число степенью 4
#задача #coding
# Функция которая проверяет является ли число степенью 4
def isPowerOfFour(n):
if n <= 0:
return False
quaternary = format(n, 'b')
return quaternary.count('1') == 1 and quaternary.count('0') % 2 == 0
# Тесты для функции isPowerOfFour(n)def test_isPowerOfFour():
assert isPowerOfFour(16) == True
assert isPowerOfFour(5) == False
assert isPowerOfFour(1) == True
assert isPowerOfFour(0) == False
assert isPowerOfFour(64) == True
assert isPowerOfFour(32) == False
#задача #coding
Задача с кодом. Нейтрализация
Напишите функцию, которая будет принимать две строки, состоящие из знаков «+» и «-», и возвращать строку — результат их взаимодействия.
Исходим из того, что строки, передаваемые в функцию, всегда будут равной длины. Переданные строки взаимодействуют следующим образом:
- плюс и плюс дают плюс
- минус и минус дают минус
- плюс и минус нейтрализуют друг друга и вместе дают 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