Sha256: aedab1f1a972afc11ea19d9255ae81489d137aa680d03583636da61ed75c92f0

Contents?: true

Size: 650 Bytes

Versions: 294

Compression:

Stored size: 650 Bytes

Contents

def from_digits(digits, base):
    return sum(n * base ** i for i, n in enumerate(reversed(digits)))


def to_digits(number, base_to):
    result = []
    while number > 0:
        result.append(number % base_to)
        number //= base_to
    return result[::-1]  # list(reversed(result))


def rebase(from_base, digits, to_base):
    if (from_base < 2):
        raise ValueError("Invalid input base.")

    if (to_base < 2):
        raise ValueError("Invalid output base.")

    if any(True for d in digits if d < 0 or d >= from_base):
        raise ValueError("Invalid input digit.")

    return to_digits(from_digits(digits, from_base), to_base)

Version data entries

294 entries across 294 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.179 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.178 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.177 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.176 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.175 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.174 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.173 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.172 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.171 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.170 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.169 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.167 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.166 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.165 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.164 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.163 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.162 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.161 tracks/python/exercises/all-your-base/example.py
trackler-2.2.1.160 tracks/python/exercises/all-your-base/example.py