我有一个问题需要理解以下python if
子句。
key = '033411943470228118020044104711300230269019812152152'
my_secret = hex(int(key[0:3]))[2:].zfill(2) + hex(int(key[4:7]))[2:].zfill(2) + hex(int(key[8:11]))[2:].zfill(2) + hex(int(key[12:15]))[2:].zfill(2) + hex(int(key[16:19]))[2:].zfill(2)
if float(my_secret) == 4.74678e+018:
有人能告诉我如何构造导致if子句为真的my_secret吗?
答案 0 :(得分:3)
my_secret = 4.74678e+018
除非不是:不要使用花车准确数量!
并非所有数字都可以表示为浮点数,因此您可能会出现舍入错误,这会在进行精确比较时导致意外结果。