为什么我的功能不打印

时间:2013-05-29 02:31:54

标签: python printing

所以我有这个功能。

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

如果我输入test('1111'),则不会打印test。我不明白为什么不是?

4 个答案:

答案 0 :(得分:3)

binaryDigits [1]是一个字符串,1是一个整数

答案 1 :(得分:3)

使用此:

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

或者这个:

if binaryDigits[1] == '1':

以便类型匹配,即比较两个字符或两个数字。

答案 2 :(得分:1)

也许你想要的是这样的。使用整数而不是字符串,并按位运算符测试位。

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

结果如下。

>>> test(0b0010)
true
>>> test(0b0000)
>>>

答案 3 :(得分:0)

print binaryDigits[1]语句前尝试if,以查看if语句隐藏的内容。

相关问题