0

ユーザーに 16 ビットの 2 進数を入力してから 10 進数に変換するよう求めるプログラムを作成する必要があります。if-else ステートメントのみを使用できます (for/while などは使用できず、関数も使用できません)。

私の問題は、変換自体ではありません。

私の問題は、ユーザーが 16 桁未満の数字を入力すると、ユーザーの番号を 16 ビットの数字として表すことです。たとえば、ユーザーが「1111」と入力した場合、「0000 0000 0000 1111」に変換する必要があります。

私は試した :

    A=int(input("Please enter a 16-bit decimal number:"))
    B=0000000000000000
    C=A or B
    print (C)

これにより、Aの元の番号が得られました(理由はよくわかりません)。

また、ユーザーの入力を文字列として見ようとしましたが、私が理解しているように、Python は左から右に文字に番号を付け始めるため、A=1111 の場合、A[0]-A[3] しかないので、それにちょっと立ち往生していた。

使える機能はあると思いますが、課題は授業で習った科目のみを使うことで、基本的には if-else 文(と代入文)だけです。

ありがとうございました。ユル

4

1 に答える 1