回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我的程序没有设置函数的输出结果</p>
<p>我有一个图形用户界面,他们可以从3种食物中挑选,然后根据自己的需要确定体重。他们点击Calculate按钮,它调用一个函数,在这个函数中,is获取重量并*通过存储的价格</p>
<p>我得到错误:TypeError:无法将序列与'list'类型的非int相乘</p>
<p>程序代码:</p>
<pre><code>from tkinter import *
#libary of feed cost and size
Pellets = ['Pellets', 22.75, 100.00] #name, 10kg cost, 50kg cost
Mash = ['Mash', 20.50, 90.00] #name, 10kg cost, 50kg cost
Enhanced = ['Enhanced', 25.50, 125.50] #name, 10kg cost, 50kg cost
Size = ['10KG', '50KG'] #weight 1, weight 1
def close_window():
window.destroy()
def totalcost1():
weightneeded = [float(weight.get())]
pellets10kg = [float(Pellets[1])]
totalCost = (weightneeded*pellets10kg)
resultTotalCost.set("${0:,.2f}".format(totalCost))
window = Tk()
window.geometry("1000x500")
window.resizable(0, 0)
window.title("Chook Food Calcuator")
lblFoodList = Label(window, text='Please Select a food type:')
lblFoodList.grid(column=1, row=0, padx=12, pady=25)
#Food Selection Dropdown Menu
FoodSelection = StringVar(window)
FoodSelection.set("Pellets") # default value
#list of foods
x = OptionMenu(window, FoodSelection, Pellets[0], Mash[0], Enhanced[0])
x.grid(column=2, row=0, sticky="e")
lblFoodList = Label(window, text='Please Select the total weight of food you wish to buy:')
lblFoodList.grid(column=1, row=1, padx=25, pady=50, sticky='n')
weight = StringVar()
entWeight = Entry(window, width=20, textvariable=weight)
entWeight.grid(column=2, row=1, padx=25, pady=50, sticky='n')
btnCalculate = Button(window, text='Calculate', command=totalcost1)
btnCalculate.grid(column=3, row=1, padx=25, pady=25, sticky='e')
lblTotalCost = Label(window, text='Total Cost:')
lblTotalCost.grid(column=1, row=3, padx=25, pady=25)
resultTotalCost = StringVar()
entTotalCost = Entry(window, width=20, textvariable=resultTotalCost, state="readonly")
entTotalCost.grid(column=2, row=3, padx=25, pady=50, sticky='n')
btnQuit = Button(window, text='Quit', command=close_window)
btnQuit.grid(column=6, row=4, sticky='se')
window.mainloop( )
</code></pre>
<p>对于当前代码,我需要输出为(输入*storedprice)</p>