所以我有这个功能。
def test(fourBits):
binaryDigits = fourBits
if binaryDigits[1] == 1:
print 'test'
如果我输入test('1111')
,则不会打印test
。我不明白为什么不是?
答案 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
语句隐藏的内容。