双变量if语句不起作用

时间:2012-10-22 00:09:58

标签: python variables if-statement double inequalities

我正在制作一个双变量if语句并且它不断返回错误。我不知道出了什么问题:

variable = float(0)

for index in range(10):

    variable = variable + float(2)

    if x <= float(variable/3) and > float(variable-2.0/3):
        # do something

    else:
        pass

或类似的东西。这是基本结构。为什么要继续突出显示&gt;每当我试图运行它时都是红色的?

4 个答案:

答案 0 :(得分:6)

Python也支持常规不等式,所以你可以这样写:

if variable - 2.0 / 3 < x <= variable / 3:
    # ...

答案 1 :(得分:2)

您想要做类似

的事情
if ((x <= float(variable/3)) and (x > float(variable-2.0/3))):
       # do something

 else:
       pass

换句话说,和的每一边都必须是一个布尔表达式。我不确定你是否需要所有的括号。

答案 2 :(得分:1)

似乎你在if-block中的第二个条件之前缺少一个变量或常量。这可能是您收到错误的一个原因。

答案 3 :(得分:0)

此代码可以正常工作:

index=0

x=0
variable = float(0)
for index in range(10):     
variable=variable + float(2)

if x <= float(variable/3) and x> float(variable-2.0/3):
    print 'Doesn\'t Matter'
else:
    print 'pass'