0

需要帮助在没有条件或循环的情况下解决此问题:

写出getInRange接受 3 个值的函数(您可能假设它们都是数字)- xbound1bound2,其中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] 的右侧)
4

1 回答 1

1

听起来“getInRange”只是中位数:

def getInRange(x, y, z):
   return sorted([x, y, z])[1]
于 2012-12-25T04:52:17.477 回答