我试图制作一个可以计算密度,终端速度和粘度的程序。 我已将它们分开,以便用户更容易理解。
流程如下: 这很简单但是当调用density()函数时,它意味着计算denCould有人帮忙吗?代码如下,错误也是如此。
import sys
def terminalvelandviscocalc(ms,ds,pa): 将数学导入为m masssteel =毫秒 diametersteel = DS projectarea = PA termvelo = m.sqrt((2 * * masssteel 9.81)/(密度* projectarea * 0.5)) 粘=((masssteel * 9.8) - ((4.0 / 3.0)*((diametersteel / 2)** 3)* 9.8 *密度))/(6 * m.pi *(diametersteel / 2)* termvelo) 打印'终端速度为:%。2f' %termvelo 印刷'粘度为:%。2f' %粘 返回termvelo 返回visco 错误:
termvelo=m.sqrt((2*masssteel*9.81)/(density*projectarea*0.5))
TypeError: unsupported operand type(s) for *: 'function' and 'float'
答案 0 :(得分:2)
density
是一个函数,但在行termvelo=m.sqrt((2*masssteel*9.81)/(density*projectarea*0.5))
中,您将其用作变量。
您应该使用()
来调用它,并提供它期望的3个参数(我称之为arg1
,arg2
,arg3
。您应该使用正确的变量您的代码中的名称):
termvelo=m.sqrt((2*masssteel*9.81)/(density(arg1, arg2, arg3)*projectarea*0.5))