Python中的简单if-comparison失败,并带有float

时间:2019-01-02 16:03:04

标签: python

抱歉,这个令人难以置信的愚蠢初学者问题,但是我无法通过简单比较python中的两个数值来失败。那是我的相关代码:

lastResult=1.0
currResult=repr(model.evaluate(xTest, yTest)[1]) # now currResult contains 0.0

if (currResult>lastResult):
  print("\nBetter result " +str(currResult) + " > " + str(lastResult))

在这里比较失败,尽管currResult小于lastResult,但执行了if条件并得到了一些输出

Better result 0.0 > 1.0

知道我在做什么错吗?

1 个答案:

答案 0 :(得分:3)

简单的小错误。 repr返回一个字符串。请改用int。 :D

@BlackBear看起来应该返回浮点数。

lastResult = 1.0
currResult = float(model.evaluate(xTest, yTest)[1])

# note that this is 0.0 > 1.0 and shouldn't run
if currResult > lastResult:
    print(f'\nBetter result {currResult} > {lastResult}')