バイナリの右から4番目のビットがアクティブであるかどうかをチェックする関数を作成しています。ここでPython:raw_input()をバイナリに変換し、それを関数で使用する
は私のコードです:
bit2= 0b1000
entry = bin(int(raw_input("Type a number : ")))
def verifier_bit4(entry):
if entry & bit2 > 0 :
return "on"
else:
return "off"
print verifier_bit4(entry)
バイナリ(例:エントリ= 0b1001)として自分自身にエントリの値を定義した場合には罰金働いていました。
しかし、私はそれをユーザーフレンドリーにし、raw_input()
で数字を入力するように頼んだ。
は、その後、私はこのエラーメッセージました:
Traceback (most recent call last): File "python", line 11, in
File "python", line 6, in verifier_bit4 TypeError:
unsupported operand type(s) for &: 'str' and 'int'
を私は変数「エントリー」をチェックし、それは確かにバイナリなので、自分のコードが動作しない理由を私は理解していません。
誰かが助けてくれますか? :)実際
"変数 'エントリ'を確認しましたが、実際にはバイナリです。しかし、Pythonには「バイナリ」型はありません。私はかなり 'bin'が文字列を返すと確信しています。 – Kevin
@Kevin Pythonのバイナリタイプは間違いなく 'bool'です) – wim