TypeError:\* 不支持的操作数类型:'float' 和 'NoneType'

新手上路,请多包涵

当我尝试在另一个函数中使用函数时

错误

TypeError:* 不支持的操作数类型:’float’ 和 ‘NoneType’

 # Function to calculate 2D circularity ratio
def defineCircularRatio(perim2D, area2D):

    circularity_ratio = (4*math.pi*area2D)/(perim2D**2)

    return circularity_ratio

    print "The 2D circul_ratio is:", circularity_ratio

周长和面积 - 由其他函数计算。

原文由 asdqwery 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 458
1 个回答

这是给出错误的行:

 circularity_ratio = (4*math.pi*area2D)/(perim2D**2)

Now since it has float before NoneType in the error and math.pi is a float itself, this means that perim2D was never defined or is等于零,因此 NoneTypeperim2D 声明为整数或浮点数以防止错误。例如:

 variable = 2
other_variable = 3

def defineCircularRatio(perim2D, area2D):

    circularity_ratio = (4*math.pi*area2D)/(perim2D**2)

    return circularity_ratio

    print "The 2D circul_ratio is:", circularity_ratio

defineCircularRatio(variable, other_variable)

The above code variable as perim2D , which solves the problem as perim2D is no longer equal to None but to 2. other_variable 曾经被分配给 area2D

原文由 Anthony Pham 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题