n進数を10進数に変換するPythonプログラム

組み込み関数使えというツッコミはおいといて、n進数を10進数に変換するプログラムをPythonで書くとどうなるのかという話です。

n進数のnについてですが、この記事では2進数から9進数までとします。1進数とか16進数もやると正直面倒です。

ソースコード

x = input("数字")
n = input("n進数")

length = len(x)
n = int(n)
i = 0
result = 0

while i < length:
    y = int(x[i])
    z = length-i-1
    result = result+y*n**z
    i = i+1
    
print(n,"進数:",x,", 10 進数変換:",result)

入力例

11011
2

出力

2 進数: 11011 , 10 進数変換: 27