为什么这个简单的函数在python 2.7中不起作用?
>>> def a(b,h):
... return b*h/2
... a(3,4)
File "<stdin>", line 3
a(3,4)
^
SyntaxError: invalid syntax
>>>
答案 0 :(得分:3)
在交互式解释器中,您需要添加一个空行以在定义函数之前关闭语句:
>>> def a(b,h):
... return b*h/2
...
>>>
完成后,系统会显示新的>>>
提示,您可以输入a(3,4)
来电。
来自Python reference documentation on Interactive input:
请注意,(顶级)复合语句必须在交互模式下后跟一个空行;这是帮助解析器检测输入结束所必需的。
请注意,您可能会遇到整数除法的问题;在Python 2中,如果/
除法运算符的两个操作数都是整数,则会得到整数结果。有关解决方法,请参阅How can I force division to be floating point? Division keeps rounding down to 0。