您应该在第一行(def)上加一个冒号(:)。在def input(a, b, c) :
if a <= b <= c or c <= b <= a :
return b
elif b <= a <= c or c <= a <= b :
return a
else:
return c
此外,我想使用最小值和最大值是比较明智的。Min和max有时直接由CPU支持,有些实现避免了分支(如果是else):
^{pr2}$
或者:def input(a, b, c) :
return min(max(a,b),max(b,c),max(a,c))
最后一个也是数值稳定的。在
在大多数情况下,应该避免使用if-then-else子句。它们减少了流水线的数量,尽管在解释语言中这可能不会提高性能。在
根据评论,我想你想写一个交互式程序。可以这样做:def middle(a, b, c) : #defining a method
return min(max(a,b),max(b,c),max(a,c))
a = int(input("Give a value: "))
b = int(input("Give b value: "))
c = int(input("Give c value: "))
print("The requested value is ")
print(middle(a,b,c)) #calling a method
定义方法永远不会导致Python使用该方法。def块中的a、b和{}不是程序其余部分中的a、b和{}。这些是“碰巧具有相同名称的其他变量”。为了调用方法。您将方法名写在括号内,并将要调用方法的参数括起来。在