Печать
Просмотров: 900

Функция перевода из 10-ой системы счисления в любую в пределах 10:

def from10ss(x, ss):
    t = 1
    d = 0
    while x > 0:
        d = d + (x % ss) * t
        t = t * 10
        x = x // ss
    return d


osn = int(input())
print(from10ss(int(input()), osn))


Функция перевода в 10-ую систему счисления из любой в пределах 10:

def to10ss(x, ss):
    r = 0
    d = 0
    while x > 0:
        d = d + x % 10 * ss ** r
        r += 1
        x //= 10
    return d


osn = int(input())
print(to10ss(int(input()), osn))

Функция перевода в 10-ую систему счисления из 2-ной системы счисления (на вход подаётся строка):

def bin2dec(s):
    i = 0
    d = 0
    while len(s) > 0:
        d = d + int(s[-1]) * 2 ** i
        i = i + 1
        s = s[:-1]
    return d

Функция перевода из римской системы счисления в 10-ую систему счисления:

def romanToInt(s: str) -> int:
    sr = s[::-1]
    dx, dc, dm = 0, 0, 0
    d = 0
    for bu in sr:
        if bu == 'I':
            if dx == 1:
                d -= 1
                dx = 0
            else:
                d += 1
        elif bu == 'V':
            dx = 1
            d += 5
        elif bu == 'X':
            dx = 1
            if dc == 1:
                d -= 10
                dc = 0
            else:
                d += 10
        elif bu == 'L':  # 50
            dc = 1
            d += 50
        elif bu == 'C':  # 100
            dc = 1
            if dm == 1:
                d -= 100
                dm = 0
            else:
                d += 100            
        elif bu == 'D':  # 500
            dm = 1
            d += 500        
        elif bu == 'M':  # 1000
            dm = 1
            d += 1000 
        # print(bu, d)
    return d

Вложения:
Скачать этот файл (10-to-X16-func.py)10-to-X16-func.py[ ]0.6 Кб
Скачать этот файл (from10ss.py)from10ss.py[ ]0.2 Кб
Скачать этот файл (to10ss.py)to10ss.py[ ]0.2 Кб
Скачать этот файл (X16-to-10-func.py)X16-to-10-func.py[ ]0.5 Кб