我得到AttributeError: float object has no attribute set
在61號線,在calcmpg.self.mpg.set(self.mpg)
如何正確的python屬性錯誤:Float對象有沒有屬性「設置」
如何糾正呢?
這裏是我寫的程序:
該程序會提示用戶輸入的行駛里程和消耗加侖計算MPG的數量。
import tkinter
import tkinter.messagebox
class MilesPerGallonGUI:
def __init__(self):
#create main window
self.main_window = tkinter.Tk()
#create frames
self.frame1 = tkinter.Frame(self.main_window)
self.frame2 = tkinter.Frame(self.main_window)
self.frame3 = tkinter.Frame(self.main_window)
self.frame4 = tkinter.Frame(self.main_window)
#create label widgets
self.label1 = tkinter.Label(self.frame1, text = 'Enter miles: ')
self.label2 = tkinter.Label(self.frame2, text = 'Enter gallons: ')
#create entry widgets
self.entry1 = tkinter.Entry(self.frame1, width = 10)
self.entry2 = tkinter.Entry(self.frame2, width = 10)
#pack
self.label1.pack (side = 'left')
self.entry1.pack (side = 'left')
self.label2.pack (side = 'left')
self.entry2.pack (side = 'left')
#
self.mpg = tkinter.StringVar()
self.res = tkinter.Label(self.frame3, text = 'The MPG value is: ')
self.res_label = tkinter.Label(self.frame3, textvariable = self.mpg)
self.res.pack(side = 'left')
self.res_label.pack(side = 'left')
self.calc = tkinter.Button(self.frame4, text = 'Calculate MPG', command = self.calcmpg)
self.quit_button = tkinter.Button(self.frame4, text = 'Quit', command = self.main_window.destroy)
self.calc.pack(side = 'left')
self.quit_button.pack(side = 'left')
self.frame1.pack()
self.frame2.pack()
self.frame3.pack()
self.frame4.pack()
tkinter.mainloop()
#calcmpg for a callback function for the calculate button
def calcmpg(self):
self.test1 = float(self.entry1.get())
self.test2 = float(self.entry2.get())
self.mpg = float(self.test1/self.test2)
self.mpg.set(self.mpg)
gu = MilesPerGallonGUI()
您使用'self.mpg =浮動(self.test1/self.test2)更換線
'所以,創建一個浮動,應該float.set做? –
爲什麼你使用'set',因爲你在浮點值上使用set方法而引發錯誤。 – ZdaR