Python
 Computer >> コンピューター >  >> プログラミング >> Python

10進数の8進数の16進数と最初のn個の数値の2進数を出力するPythonプログラム


値nがあるとします。最初のn個の数値(1からn)に相当する10進数、8進数、16進数、および2進数を4つの異なる列に出力する必要があります。ご存知のように、10進数、8進数、16進数、10進数のそれぞれについて、接頭文字d、o、X、bを使用して数値を表すことができます。

したがって、入力がn =10の場合、出力は

になります。
1    1    1    1
2    2    2   10
3    3    3   11
4    4    4  100
5    5    5  101
6    6    6  110
7    7    7  111
8   10    8 1000
9   11    9 1001
10  12    A 1010

これを解決するには、次の手順に従います-

  • l:=(nに相当する2進数の長さ)-2
  • 1からnの範囲のiについては、
    • f:=空白の文字列
    • 「doXb」の各文字cについて、do
      • fが空でない場合、
        • f:=fは1つの空白スペースを連結します
      • f:=f + lを文字列として変換し、cを連結して右揃えのフォーマット文字列
    • フォーマットされた文字列fにiを4回渡して、行を出力します

理解を深めるために、次の実装を見てみましょう

def solve(n):
   l = len(bin(n)) - 2
   for i in range(1, n + 1):
      f = ""
      for c in "doXb":
         if f:
            f += " "
         f += "{:>" + str(l) + c + "}"
      print(f.format(i, i, i, i))

n = 10
solve(n)

入力

10

出力

1    1    1    1
2    2    2   10
3    3    3   11
4    4    4  100
5    5    5  101
6    6    6  110
7    7    7  111
8   10    8 1000
9   11    9 1001
10  12    A 1010

  1. 16進文字列を10進数に変換するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 16進文字列が与えられたので、それを10進数に変換する必要があります。 問題を解決するための2つのアプローチがあります- ブルートフォースアプローチ 組み込みモジュールの使用 ブルートフォース方式 ここでは、明示的な型キャスト関数、つまり整数を利用します。この関数は、2つの引数、つまり16進数と同等の引数とベース(16)を取ります。この関数は、16進文字列を整数型の同等の10進数に変換するために使用されます。これは、さらに文字列形式に型キャストして戻すことができます。 例 #input strin

  2. Pythonプログラムで10進数を2進数に変換する

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 10進数が与えられているので、それに相当する2進数に変換する必要があります。 与えられた問題を解決するための2つのアプローチがあります。それらを1つずつ見てみましょう- 再帰的アプローチ 例 def DecimalToBinary(num):    if num > 1:       DecimalToBinary(num // 2)    print(num % 2, end = '') # main if _