当我尝试在另一个函数中使用函数时
错误
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
周长和面积 - 由其他功能计算。
答案 0 :(得分:1)
这是给出错误的行:
circularity_ratio = (4*math.pi*area2D)/(perim2D**2)
现在因为错误中float
之前NoneType
而且math.pi
是浮动本身,这意味着perim2D
从未被定义或等于什么,因此NoneType
。将perim2D
声明为某事,如整数或浮点数以防止错误。例如:
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)
以上代码将variable
指定为perim2D
,解决了问题,因为perim2D
不再等于None
,而是使用other_variable
。area2D
被分配到component A
render(){
<View>
{this.renderB()}
{this.renderC()}
</View>
}
component B
super(props){
this.state={text: (this.props.text) ? this.props.text : '' }
}
render(){
}
component C
super(props){
}
render(){
<View>
<TouchableHighlight onPress={
...here I want to modify text state of component B
}></TouchableHighlight>
</View>
}
。
答案 1 :(得分:0)
看起来area2D不是一个整数也不是浮点数。尝试检查您是否优先覆盖其值,或者计算area2D的函数是否真正正确计算了该值。
答案 2 :(得分:0)
将基本示例代码与您的函数一起使用:
Enumeration
使用此示例代码,您的错误是关于您作为area2D和perim2D传递的内容。您是否尝试过使用带断点的IDE,以便查看传递的内容?我自己用eric。 你的功能结构似乎很好。我将重点介绍如何将perim2D和area2D传递给您的函数。