だから私はこの機能を持っています。
def test(fourBits):
binaryDigits = fourBits
if binaryDigits[1] == 1:
print 'test'
入力test('1111')
しても印刷されませんtest
。なぜそうでないのか理解できませんか?
binaryDigits[1] は文字列、1 は整数
これを使って:
if int(binaryDigits[1]) == 1:
またはこれ:
if binaryDigits[1] == '1':
タイプが一致するようにします。つまり、2 つの文字または 2 つの数値を比較します。
おそらくあなたが望むのはこのようなものです。文字列の代わりに整数を使用し、ビットごとの演算子でビットをテストします。
def test(value):
if (value >> 1) & 1:
print 'true'
これが結果です。
>>> test(0b0010)
true
>>> test(0b0000)
>>>
print binaryDigits[1]
ステートメントの前に、if
ステートメントによって何が隠されているかを確認してくださいif
。