2012-12-25 41 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

嘿凉回答有;-) –