Python函数打印“无”

时间:2017-03-03 01:14:50

标签: python-2.7

我想做出能够找到圆形区域,垫圈以及a和b方格的总和的函数。 当我运行这个时,我得到一个错误,说 TypeError:不支持的操作数类型 - :'NoneType'和'NoneType'我也试图在我的areaWasher函数中使用我的areaCirc函数。< / p>

这是我的代码。

import math

def areaCirc (r):
    (math.pi * (r ** 2))

print areaCirc(1) # should result in 3.14159265359
print areaCirc(3) # should result in 28.2743338823

def areaWasher (radIn, radOut):
    areaCirc(radOut) - areaCirc(radIn)

print areaWasher(0, 2)  # should result in 12.5663706144
print areaWasher(3, 5)  # should result in 50.2654824574

这是由

产生的结果
None
None
None

Traceback (most recent call last):
  ..., line 18, in <module>
    print areaWasher(0, 2)  # should result in 12.5663706144
  ..., line 16, in areaWasher
    areaCirc(radOut) - areaCirc(radIn)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'NoneType'

如何在areaWasher中调用areaCirc,为什么不打印?

1 个答案:

答案 0 :(得分:1)

Python是一种命令式语言。要从函数返回值,请使用return关键字:

...

def areaCirc (r):
    return (math.pi * (r ** 2))

...

如果未从函数显式返回,则返回值为None。