关于python:比较三个数字?

Comparing three numbers?

本问题已经有最佳答案,请猛点这里访问。

我正在上编程入门课,不知什么原因,我对如何从这里开始有点困惑。基本上,提示是比较用户输入的三个数字,看看第一个数字是否在最后两个数字之间。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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)

如你所见,我不知道如何在第一个函数中取下比较函数。非常感谢您的帮助!


python允许您链接比较运算符:

1
if a < b < c:

如果b介于ac之间,这将进行测试。如果您想要包容性,请尝试:

1
if a <= b <= c:

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

1
2
3
4
5
6
if a < read < b:
    return print("Yes")
elif b < read < a:
    return print("Yes")
else:
    return print("No")

或者更简洁地说:

1
2
3
4
if (a < read < b) or (b < read < a):
    return print("Yes")
else:
    return print("No")

也要注意,print总是在python中返回None。因此,return print("Yes")相当于return None。也许您应该删除返回语句:

1
2
3
4
if (a < read < b) or (b < read < a):
    print("Yes")
else:
    print("No")