Python for 循环不是迭代,

大卫

迭代只运行一次,下面是我试图运行的代码,

def heat_coeff(gas,Nu,d):
    """Calculate heat transfer (at interior tube wall)"""
    mass = gas *100
    diff = mass * 2
    for i in d:
        U = 4.*diff*Nu / (i*i)
        return U

heat_coeff(10,4, [1,2,3])
奥斯卡·洛佩兹

去掉return 里面的循环,把它放在外面否则你会过早退出!

for i in d:
    U = 4 * diff * Nu / (i*i)
return U

不过,还有另一个错误。你打算对U循环内部什么?你必须在每次迭代时更新它,否则你只会得到最后一次迭代的值。

编辑:

既然您已经在评论中解释了您需要什么(首先应该在问题中),这就是您打算执行的操作:

def heat_coeff(gas, Nu, d):
    mass = gas * 100
    diff = mass * 2
    return [4.0 * diff * Nu / (i*i) for i in d]

例如:

heat_coeff(10, 4, [1, 2, 3])
=> [32000.0, 8000.0, 3555.5555555555557]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章