Python 如何将函数添加到一起?

Python 如何将函数添加到一起?,python,Python,如何将从条目中获取值的预定义函数添加到一起 我想要的是所有这些的总价值,但只有当这些都是真的时,它才会增加它们。我想补充的是,即使一个是假的 #The Problem def TotalCost(): qty1= eVal1() qty2= eVal2() qty3= eVal3() qty4= eVal4() qty5= eVal5() qty6= eVal6() qty7= eVal7() qty8= eVal8() q

如何将从条目中获取值的预定义函数添加到一起

我想要的是所有这些的总价值,但只有当这些都是真的时,它才会增加它们。我想补充的是,即使一个是假的

#The Problem
def TotalCost():
    qty1= eVal1()
    qty2= eVal2()
    qty3= eVal3()
    qty4= eVal4()
    qty5= eVal5()
    qty6= eVal6()
    qty7= eVal7()
    qty8= eVal8()
    qty9= eVal9()
    totalsum= qty1+qty2+qty3+qty4+qty5+qty6+qty7+qty8+qty9
    if totalsum >0:
        Total.delete(0, END)
        Total.insert(0, "%.2f" % totalsum)
        return totalsum
入口是它的入口

功能和定义 错误消息 第164行,总成本 总计=qty1+qty2+qty3+qty4+qty5+qty6+qty7+qty8+qty9
TypeError:不支持+:“NoneType”和“float”的操作数类型在所有求值函数中,您可以添加
else
条件并
else
块中返回0

例:


类似地,将其添加到所有的求值函数中。

问题中的true和false是什么意思?所有的get框必须有一个值才能将其相加。或者它失败了。qty1+qty2+qty3+qty4+qty5+qty6+qty7+qty8+qty9如果其中一个不包含数字,则会出错。更具体的qty1。。。。。。错误是第164行,在TotalCost totalsum=qty1+qty2+qty3+qty4+qty5+qty6+qty7+qty8+qty9类型中错误:不支持+:“非类型”和“浮点”的操作数类型编辑了答案以包括示例。
value1= IntVar()
value2= IntVar()
value3= IntVar()
value4= IntVar()
value5= IntVar()
value6= IntVar()
value7= IntVar()
value8= IntVar()
value9= IntVar()
value10= IntVar()


#Gets Value from entry and gives total



def eVal1():
    a= value1.get()
    doughnut = "Strawberry" + " X"
    results1 = doughnut + str(a)
    if a>0:
        b= a*0.99
        List1.insert(0, results1)
        return b 


def eVal2():
    c= value2.get()
    doughnut = "Custard" + " X"
    results2 = doughnut + str(c)
    if c>=0:
        d= c*0.99
        List1.insert(0, results2)
        return d


def eVal3():
    e= value4.get()
    doughnut = "Sugar Ring" + " X"
    results3 = doughnut + str(e)
    if e>=0:
        f= e*0.99
        List1.insert(0, results3)
        return f

def eVal4():
    g= value5.get()
    doughnut = "Chocolate Caramel" + " X"
    results4 = doughnut + str(g)
    if g>=0:
        h= g*0.99
        List1.insert(0, results4)
        return h

def eVal5():
    i= value6.get()
    doughnut = "Lemon Circle" + " X"
    results5 = doughnut + str(i)
    if i>=0:
        j= i*0.99
        List1.insert(0, results5)
        return j


def eVal6():
    k= value7.get()
    doughnut = "Blueberry Blaster" + " X"
    results6 = doughnut + str(k)
    if k>=0:
        l= k*0.99
        List1.insert(0, results6)
        return l

def eVal7():
    m= value8.get()
    doughnut = "Strawberry Suprise" + " X"
    results7 = doughnut + str(m)
    if m>=0:
        n= m*0.99
        List1.insert(0, results7)
        return n
def eVal8():
    o= value9.get()
    doughnut = "Simple Sugar" + " X"
    results8 = doughnut + str(o)
    if o>=0:
        p= o*0.99
        List1.insert(0, results8)
        return p

def eVal9():
    q= value10.get()
    doughnut = "Apple Cinnamon" + " X"
    results9 = doughnut + str(q)
    if q>=0:
        r= q*0.99
        List1.insert(0, results9)
        return r
def eVal1():
    a= value1.get()
    doughnut = "Strawberry" + " X"
    results1 = doughnut + str(a)
    if a>0:
        b= a*0.99
        List1.insert(0, results1)
        return b 
    else:
        return 0