ファーウェイ研究開発エンジニアのプログラミング問題:進数変換[python]


'''[プログラミング問題]進数変換時間制限:1秒空間制限:32768 Kプログラムを書き出し、16進数の数値文字列を受け入れ、その数値の10進数文字列を出力する.(複数組同時入力)説明を入力します.16進数の数値文字列を入力します.≪出力記述|Output Description|emdw≫:数値の10進数文字列を出力します.入力例1:0 xA出力例1:10'''
'''
問題を解く構想:簡単
一つ一つのことをよく考えていればできる
'''
'''コード実行結果:正解:おめでとう!提出したプログラムはすべてのテスト例に合格しました.
'''
while True:
    try:
        x_num = input()[2:]
        d_num = 0
        length = len(x_num)
        for i in range(length):
            if x_num[i] == 'A':
                d_num += 10 * 16 ** (length - 1 - i)
            elif x_num[i] == 'B':
                d_num += 11 * 16 ** (length - 1 - i)
            elif x_num[i] == 'C':
                d_num += 12 * 16 ** (length - 1 - i)
            elif x_num[i] == 'D':
                d_num += 13 * 16 ** (length - 1 - i)
            elif x_num[i] == 'E':
                d_num += 14 * 16 ** (length - 1 - i)
            elif x_num[i] == 'F':
                d_num += 15 * 16 ** (length - 1 - i)
            else:
                d_num += int(x_num[i]) * 16 ** (length - 1 - i)
        print(d_num)
    except:
        break