2024-06-16 20:32:56 发布
网友
def on_base_percentage(h, bb, hbp, ab, sf): return float((h + bb + hbp)/(ab + bb + hbp + sf)) print on_base_percentage(1,2,3,4,5)
为什么Python打印0.0,而实际上函数有一个值?在
0.0
你的功能主要是评估:
(1 + 2 + 3)/(4 + 2 + 3 + 5)
或者
我假设您使用的是python2.x,它将在这里进行integer除法(截断结果以得到一个整数。在本例中,截断的结果是0,然后使用它构造一个浮点(0.0)。这里一个简单的解决方案是在分子或反单数上调用float来强制执行真除法:
0
float((h + bb + hbp))/(ab + bb + hbp + sf)
其他解决方案正在实现true_division:
from __future__ import division # Needs to be imported first thing!
在这种情况下,除数将使用"true division"。(整齐)。在
你必须在除法之前,而不是之后,强制转换成浮点型。在
执行除法,得到0,因为它是整数之间的除法。然后使0成为一个浮点数,结果打印0.0。在
试试这个办法
def on_base_percentage(h, bb, hbp, ab, sf): return float(h + bb + hbp)/float(ab + bb + hbp + sf) print on_base_percentage(1,2,3,4,5) 0.428571428571
你的功能主要是评估:
或者
^{pr2}$我假设您使用的是python2.x,它将在这里进行integer除法(截断结果以得到一个整数。在本例中,截断的结果是
0
,然后使用它构造一个浮点(0.0
)。这里一个简单的解决方案是在分子或反单数上调用float来强制执行真除法:其他解决方案正在实现true_division:
在这种情况下,除数将使用"true division"。(整齐)。在
你必须在除法之前,而不是之后,强制转换成浮点型。在
执行除法,得到
0
,因为它是整数之间的除法。然后使0
成为一个浮点数,结果打印0.0
。在试试这个办法
相关问题 更多 >
编程相关推荐