Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中布尔运算和bin内置函数中的问题_Python - Fatal编程技术网

python中布尔运算和bin内置函数中的问题

python中布尔运算和bin内置函数中的问题,python,Python,我在理解“bin”中的内置函数时遇到一些问题。请任何人都能解释一下,为什么我面临这个问题。我是python的初学者。 ,但我没有找到任何相关的答案 input = 12 mask = 13 expected_out =100 binIn = bin(input) binMask = bin(mask) binExpected = bin(expected_out) print binIn ,binMask ,binMask # if (binIn & binMask == bin

我在理解“bin”中的内置函数时遇到一些问题。请任何人都能解释一下,为什么我面临这个问题。我是python的初学者。 ,但我没有找到任何相关的答案

input = 12
mask = 13
expected_out =100

binIn = bin(input)
binMask = bin(mask)
binExpected = bin(expected_out)
print binIn ,binMask ,binMask  # 

if (binIn & binMask == binExpected): i want to do bitwise binIn & binMask and compare with  binExpected
    print "here1"
else:
    print "here2"
TypeError:&:'str'和'str'的操作数类型不受支持


提前感谢

Python
bin
函数将数字转换为二进制表示字符串:

>>> type(bin(1))
<type 'str'>

Python
bin
函数将数字转换为二进制表示字符串:

>>> type(bin(1))
<type 'str'>
您应该按位和整数,然后在结果上调用bin,并将该结果与bin(预期输出)

考虑到您可以将结果与int进行比较,这一切似乎都是多余的:

inp = 12
mask = 13
expected_out = 12

if inp & mask == expected_out:
    print("Here")
else:
    print("Here2")
您应该按位和整数,然后在结果上调用bin,并将该结果与bin(预期输出)

考虑到您可以将结果与int进行比较,这一切似乎都是多余的:

inp = 12
mask = 13
expected_out = 12

if inp & mask == expected_out:
    print("Here")
else:
    print("Here2")

bin
的结果将是字符串类型。您正在尝试使用两个字符串执行按位AND。字符串的bin(输入)将返回字符串?是的,bin返回str,为什么要使用bin?@Sana您试图实现什么逻辑?(例如“查看任一选项是否等于预期值”)。我想比较2个二进制数。
bin
的结果将是字符串类型。您正在尝试使用两个字符串执行按位AND。字符串的bin(输入)将返回字符串?是的,bin返回str,为什么要使用bin?@Sana您试图实现什么逻辑?(例如“查看任一选项是否等于预期值”)。我想比较两个二进制数。