我为一个生物方程建立了一个计算器,我想我已经缩小了问题的范围,这是我的一个自然记录:
goldman = ((R * T) / F) * cmath.log(float(top_row) / float(bot_row))
print("Membrane potential: " + str(goldman) + "V"
我的问题是它只会以复杂的形式显示输出:
Membrane potential: (0.005100608207126714+0j)V
有没有办法把它打印成浮点数?我试过的都没用。
Tags:
复数有实部和虚部:
看起来你只是想要真正的角色。。。所以:
使用
math.log
而不是cmath.log
。因为您不需要结果的虚部,所以最好使用
math.log
,而不是cmath.log
。这样,如果您的输入不在一个真正的log
的有效域中,您将得到一个错误,这比无提示地给出无意义的结果要好得多(例如,如果top_row
为负)。而且,复数结果对于这个特殊的方程来说毫无意义。即,使用:
如果只想将其转换为浮点值,可以执行以下操作:
ec=complex(2,3)
这样你就可以得到浮动值。
相关问题 更多 >
编程相关推荐