Python编程。使用min和max时语法错误

时间:2015-07-04 06:19:19

标签: python syntax max min

我想编写一个程序,它将3个数字作为输入并返回中间数字。

def clip(lo, x, hi):
'''
Takes in three numbers and returns a value based on the value of x.
Returns:
 - lo, when x < lo
 - hi, when x > hi
 - x, otherwise
'''
# Your code here
    r1 = max(lo, x)
    r2 = min((hi, x)

    return min(r1, r2) #This is Line13

r = clip(3, 5, 7)

如果我在编写逻辑时做错了,那那不是问题。但问题是它在第13行显示了语法错误。为什么它显示语法错误。

3 个答案:

答案 0 :(得分:1)

r2分配行还有一个(

答案 1 :(得分:1)

来自文档https://docs.python.org/2/tutorial/errors.html

  

解析器重复违规行并显示一个小箭头   指向(语法)错误所在行中的最早点   检测。该错误是由令牌引起的(或至少在其中检测到)   在箭头前面。

这就是为什么在return语句中报告语法错误的原因,因为它是预期匹配的右括号(在您的代码中)。

def clip(lo, x, hi):
    r1 = max(lo, x)
    r2 = min(hi, x)  # min((h1, x) is the problem cause
    return min(r1, r2) 

r = clip(6, 5, 7)
print r

答案 2 :(得分:0)

我认为该线是您指示的线上方的线 -

r2 = min((hi, x)

你有一个未闭合的支架,你甚至不需要另一个开口支架。

应该是 -

r2 = min(hi, x)