【发布时间】:2015-04-22 20:36:52
【问题描述】:
我是一名尝试 tkinter 库的 Python 初学者。我正在尝试创建两个文本框:一个会询问小时数,另一个会询问小时费率。这些值将相乘。如果小时费率超过 40 小时,则将 40 小时以上的小时数乘以 1.5 以反映加班率。我收到一个错误:
UnboundLocalError: local variable 'salary' referenced before assignment
我不确定这是否是我的代码中唯一的错误。我该如何解决这个错误?
from tkinter import *
from tkinter import ttk
def main():
value = float(hours.get())
value2=float(rate.get())
salary.set(value * value2)
if hours > 40 :
salary = (((hours - 40)* 1.5 ) + 40 )* rate
else :
salary = hours * rate
return salary
root = Tk()
root.title = ("Salary Calculator")
hours = StringVar()
rate = StringVar()
salary = StringVar()
entry = Entry(root, textvariable=hours)
entry2 = Entry(root, textvariable=rate)
label1=Label(root,textvariable=salary)
label2=Label(root, text='Enter Your Hours Worked: ')
button1=Button(root,text='Calculate Salary',command=main)
entry.pack()
entry2.pack()
label1.pack()
button1.pack()
label2.pack()
root.mainloop()
【问题讨论】: