2014-11-06 109 views
1

我在編程課的介紹中,出於某種原因,對於如何從這裏開始有點困難。基本上提示是比較用戶輸入的三個數字,並查看第一個數字是否在最後兩個數字之間。比較三個數字?

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) 

所以,你看到我無法弄清楚如何在第一個函數中得到比較函數。任何幫助深表感謝!

+0

'如果a <讀取 b'。 – 2014-11-06 17:00:47

回答

4

Python允許你chain comparison operators

if a < b < c: 

這是檢驗bac獨家之間。如果你想包,請嘗試:

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。也許你應該刪除返回語句:

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

非常感謝!事後看來,我應該知道這一點。我想我只是腦子死了,只是在這裏。非常感謝! – Dave 2014-11-10 00:01:58