Я не уверен, если Im орехи или что-то, но посмотрите на этот код:Python: нет, если во втором цикле
a=1
while a<=2.2:
if a==1.4:
print "OK"
a=a+0.4
выход: "OK"
измененное состояние до 1,8:
a=1
while a<=2.2:
if a==1.8:
print "OK"
a=a+0.4
Выход: ничего !?
Может ли кто-нибудь помочь мне здесь?
я не уверен, но мое первое предположение, что у вас возникли проблемы с точностью чисел с плавающей запятой. Попробуйте то же самое с целыми числами. –
Просто попробуйте '1.4 + 0.4' и посмотрите, что вы получаете. – khelwood
используйте эпсилон, если абс (1.8 - а) <= epsilon', где epsilon равен 0,00001 –