Python 3 中括号未显示为闭合
Bracket not showing as closed in Python 3
我刚刚开始学习 Python 3.9 作为我的第一语言。我已经和这个错误斗争了一段时间了,我不知道问题出在哪里。
这是我正在做的事情:
def eval_express(eqstring[0], eqstring[1], eqstring[2]):
eqstring[0], eqstring[2] = float(eqstring[0]), float(eqstring[2])
return opdict[eqstring[1]](eqstring[0], eqstring[2])
我收到一个错误,说 eval_express
之后的“(”没有关闭,但据我所知是关闭的。起初,我以为这只是一个小故障,但尽管有很多尝试重写它,increase/decrease参数的数量等。它仍然存在。在我将参数从变量修改为列表项后出现错误,但我不明白为什么会影响它。任何人都可以提供澄清一下程序挂断了什么?
感谢您的帮助!
您在函数参数中使用了无效的方括号。有效代码为:
def eval_express(eqstring0, eqstring1, eqstring2):
eqstring0, eqstring2 = float(eqstring0), float(eqstring2)
return opdict[eqstring1](eqstring0, eqstring2)
尽管您可能应该使用更具描述性的参数名称。
在为函数输入参数时不能使用 parameter[]
表示法。相反,只需使用 parameter
,否则您将不得不执行类似
的操作
def eval_express(eqstring):
eqstring[0], eqstring[2] = float(eqstring[0]), float(eqstring[2])
return opdict[eqstring[1]](eqstring[0], eqstring[2])
现在你必须传递一个数组作为函数参数。
我刚刚开始学习 Python 3.9 作为我的第一语言。我已经和这个错误斗争了一段时间了,我不知道问题出在哪里。
这是我正在做的事情:
def eval_express(eqstring[0], eqstring[1], eqstring[2]):
eqstring[0], eqstring[2] = float(eqstring[0]), float(eqstring[2])
return opdict[eqstring[1]](eqstring[0], eqstring[2])
我收到一个错误,说 eval_express
之后的“(”没有关闭,但据我所知是关闭的。起初,我以为这只是一个小故障,但尽管有很多尝试重写它,increase/decrease参数的数量等。它仍然存在。在我将参数从变量修改为列表项后出现错误,但我不明白为什么会影响它。任何人都可以提供澄清一下程序挂断了什么?
感谢您的帮助!
您在函数参数中使用了无效的方括号。有效代码为:
def eval_express(eqstring0, eqstring1, eqstring2):
eqstring0, eqstring2 = float(eqstring0), float(eqstring2)
return opdict[eqstring1](eqstring0, eqstring2)
尽管您可能应该使用更具描述性的参数名称。
在为函数输入参数时不能使用 parameter[]
表示法。相反,只需使用 parameter
,否则您将不得不执行类似
def eval_express(eqstring):
eqstring[0], eqstring[2] = float(eqstring[0]), float(eqstring[2])
return opdict[eqstring[1]](eqstring[0], eqstring[2])
现在你必须传递一个数组作为函数参数。