我想编写一个程序,它将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行显示了语法错误。为什么它显示语法错误。
答案 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)