【问题标题】:Python IF statement always return TruePython IF 语句总是返回 True
【发布时间】:2015-12-16 14:44:48
【问题描述】:

这是我脚本的一个非常小的版本。我更改它以测试 if 语句。 Boolean 的值为 False,没错!当我更改行的值时,highRisk 总是收到正确的值(真/假)。 但即使使用正确的 highRisk 值,结果也总是“ok”。谁能解释一下为什么?

row = 5

riskHigh = (reasons.iloc[row,1:2] == "high").bool

if riskHigh:
    print "ok"
else:
    print "oops"

结果:

In [60]: row = 5
    ...: riskHigh = (reasons.iloc[row,1:2] == "high").bool
    ...: 
    ...: if riskHigh:
    ...:     print "ok"
    ...: else:
    ...:     print "oops"
    ...: 
    ...: 
ok

In [61]: print riskHigh
<bound method Series.bool of Risk_Rating    False
Name: 5, dtype: bool

【问题讨论】:

    标签: python if-statement


    【解决方案1】:

    正如印刷品所说,riskHigh 是一种方法。您应该调用该方法:

    riskHigh = (reasons.iloc[row,1:2] == "high").bool()
    

    【讨论】:

    • 谢谢,丹尼尔! .bool 之后的“()”似乎解决了这个问题。
    猜你喜欢
    • 2016-01-04
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    相关资源
    最近更新 更多