Python二进制格式异常
给定以下Python二进制格式异常,python,binary,Python,Binary,给定以下Python代码: binaryE = "{0:b}".format(11749) print binaryE one = binaryE[0] zero = binaryE[1] print one print zero if one == 1: print 'equal' else: print 'not equal' if zero == 0: print 'equal' else: print 'not equal' 控制台的输出为:
Python
代码:
binaryE = "{0:b}".format(11749)
print binaryE
one = binaryE[0]
zero = binaryE[1]
print one
print zero
if one == 1:
print 'equal'
else:
print 'not equal'
if zero == 0:
print 'equal'
else:
print 'not equal'
控制台的输出为:
10110111100101
1
0
not equal
not equal
为什么不平等?顺便问一下,与输出进行比较的正确方法是什么?它们的类型不同:
print(type(one), type(1))
# (<type 'str'>, <type 'int'>)
您正在尝试将字符串(
)与整数(
)进行比较。您需要比较同一类的对象,即整数与整数或字符串与字符串的比较
if int(one) == 1:
print 'equal'
else:
print 'not equal'
if int(zero) == 0:
print 'equal'
else:
print 'not equal'