如何将函数相加?

2024-07-08 10:24:09 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我想要的是所有这些的总价值,但它只会在所有这些都是真的情况下增加它们。我想要的是,即使其中一个是假的,也要加进去。你知道吗

#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

入口是它的入口。你知道吗

功能和定义

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

错误消息

第164行,总成本 合计=qty1+qty2+qty3+qty4+qty5+qty6+qty7+qty8+qty9 TypeError:不支持+:“NoneType”和“float”的操作数类型


Tags: getreturnifdefinsertstrintvarlist1
1条回答
网友
1楼 · 发布于 2024-07-08 10:24:09

在所有eVal函数中,可以在else块中添加else条件和return 0。你知道吗

例如:

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

类似地,将其添加到所有eVal函数中。你知道吗

相关问题 更多 >

    热门问题