比较三个数字?

时间:2014-11-06 16:56:49

标签: python comparison

我参加编程课程的介绍,由于某种原因,我对如何从这里开始感到有点困惑。基本上,提示是比较用户输入的三个数字,并查看第一个数字是否在最后两个数字之间。

def fun1(a,b,read,):
    if a < read and read > b:
        return print("Yes")
    elif b < read and read > a:
        return print("Yes")
    else:
        return print("No")

def main():
   read = input("mid: ")
   a = input("num1 ") 
   b = input("num2 ")
   fun1(read,a,b,)
   print("result:",fun1)

因此,您看到我无法弄清楚如何在第一个函数中降低比较功能。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:6)

Python允许您chain comparison operators

if a < b < c:

这将测试b是否在ac之间。如果您想要包容性,请尝试:

if a <= b <= c:

因此,在您的代码中,它将类似于:

if a < read < b:
    return print("Yes")
elif b < read < a:
    return print("Yes")
else:
    return print("No")

或更简洁:

if (a < read < b) or (b < read < a):
    return print("Yes")
else:
    return print("No")

另请注意,print始终在Python中返回None。因此,return print("Yes")相当于return None。也许你应该删除return语句:

if (a < read < b) or (b < read < a):
    print("Yes")
else:
    print("No")