定义简单函数的语法错误

时间:2015-12-08 18:14:24

标签: python python-2.7

为什么这个简单的函数在python 2.7中不起作用?

>>> def a(b,h):
...     return b*h/2
... a(3,4)
  File "<stdin>", line 3
    a(3,4)
    ^
SyntaxError: invalid syntax
>>> 

1 个答案:

答案 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