1

だから私はこの機能を持っています。

def test(fourBits):
  binaryDigits = fourBits
  if binaryDigits[1] == 1:
     print 'test'

入力test('1111')しても印刷されませんtest。なぜそうでないのか理解できませんか?

4

4 に答える 4

3

binaryDigits[1] は文字列、1 は整数

于 2013-05-29T02:34:51.490 に答える
3

これを使って:

if int(binaryDigits[1]) == 1:

またはこれ:

if binaryDigits[1] == '1':

タイプが一致するようにします。つまり、2 つの文字または 2 つの数値を比較します。

于 2013-05-29T02:35:15.680 に答える
1

おそらくあなたが望むのはこのようなものです。文字列の代わりに整数を使用し、ビットごとの演算子でビットをテストします。

def test(value):
    if (value >> 1) & 1:
        print 'true'

これが結果です。

>>> test(0b0010)
true
>>> test(0b0000)
>>>
于 2013-05-29T02:44:59.180 に答える
0

print binaryDigits[1]ステートメントの前に、ifステートメントによって何が隠されているかを確認してくださいif

于 2013-05-29T02:35:40.653 に答える