简体   繁体   English

为什么我得到一个空列表作为答案?

[英]Why am I getting an empty list as the answer?

I am supposed to be printing out all values for r (which should be a list of 5 values) but for some reason I am getting an empty list [ ] as the answer. 我应该打印出r的所有值(应该是5个值的列表),但是由于某种原因,我得到了一个空列表[]作为答案。 All of the inputs to the function are single values except for the lst variable, which is a list of 5 values. 该函数的所有输入都是单个值,第一个变量除外,该变量是5个值的列表。 Any idea on why I am getting an empty list? 关于为什么我得到一个空名单的任何想法吗? All of the code I am using can be seen below. 我正在使用的所有代码都可以在下面看到。

from math import pi
from sympy import solve


class SolarHeating:        
    def waterheated(self, T0, T, lst, Cp, Eg, r):
        self.m = var('m')
        self.T0 = T0
        self.T = T
        self.lst = lst
        self.Cp = Cp
        self.Eg = Eg
        self.r = r

        A = pi * self.r**2
        Qt = self.Eg * A
        F = [(self.T - self.T0) * self.m * self.Cp / Qt - x for x in self.lst]
        self.m = solve(F, self.m)

        return self.m


lst = [0, .25, .5, .75, 1.0]
a = SolarHeating()   
m = a.waterheated(20, 40, lst, 4.2, .928, .128) 
print(m)
    ...
    F = [(self.T-self.T0)*self.m*self.Cp/Qt-x for x in self.lst]
    self.m = solve(F,self.m)
    return self.m

This is most probably a math problem, not a code problem. 这很可能是数学问题,而不是代码问题。 Print the value of F and check that it really has a solution that solve() should return. 打印F的值,并检查它是否确实具有应返回solve()的解决方案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM