2012-12-25 40 views
0

需要幫助沒有條件語句解決這個問題,或者循環:Python的幫助:沒有條件語句,或循環

編寫函數getInRange這需要3個值(你可以假設都是數字) - xbound1,和bound2,其中bound1不一定小於bound2。如果x位於兩個邊界之間,只需將其未修改即可返回。否則,如果x小於下限,則返回下限,或者如果x大於上限,則返回上限。

例如:

  • getInRange(1, 3, 5)返回3(下界,因爲1個位於在範圍[3,5]的左側)
  • getInRange(4, 3, 5)返回4(原始值,因爲圖4是在範圍[3,5])
  • getInRange(6, 3, 5)返回圖5(上界,因爲6個位於該範圍的右邊[3,5])
  • getInRange(6, 5, 3)也返回圖5(上界,因爲6個位於在範圍[3,5]的右側)

回答

1

這聽起來像 「getInRange」 簡直就是中位數:

def getInRange(x, y, z): 
    return sorted([x, y, z])[1] 
+0

嘿涼回答有;-) –