Get Mystery Box with random crypto!

Як там Ваша сесія? Останнім часом полюбляю дивитися/читати | Data Mirosh

Як там Ваша сесія?

Останнім часом полюбляю дивитися/читати різноманітні задачки по Data Science та перекладати їх з однієї мови на іншу (R / Python).

Ось приклад: треба написати функцію, котра конвертує ціле число у бінарне представлення, отримане значення перевертає і записує назад у цілому число.

Типове рішення на Python :

def reverse_decimal(n):
return int(str(bin(n))[:1:-1], 2)

Але така конструкція не буде працювати з від'ємними значеннями (через роботу функції bin). В такому випадку слід розширити рішення:

def reverse_decimal(n):
if n > 0:
return int(str(bin(n))[:1:-1], 2)
else:
return int(str(bin(n))[:2:-1], 2)

В R з такою задачкою трошки по іншому: функція intToBits() одразу повертає binary signed 2's complement значення, що дещо спрощує задачу, але через це результати в Python та R будуть дещо відрізнятися:

reverse_decimal <- function(n){
n |>
intToBits() |>
rev() |>
packBits(type = "integer")
}

Якщо ж повністю відтворювати результат з Python треба створювати окремі кастомні функції. Якщо потрібно показати - пишіть в коментарях.

Цікавий такий контент?