Я пытаюсь собрать работающий калькулятор заработной платы с подоходным налогом для каждого штата. Пока что я собрал подсчет только для штата Алабама, но продолжаю получать "Не удалось преобразовать" str "в" float ""
Я в основном перепробовал все, что смог найти, и ушелот некоторых других программ, чтобы попытаться исправить
import tkinter as tk
from tkinter import*
#WINDOW PROPERTIES
GUI = tk.Tk()
GUI.title("Payroll Calculator")
GUI.minsize('305','110')
GUI.maxsize('305','110')
def StatesList(list):
States = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'District of Columbia', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming']
```
def saying():
("Total weeks pay: ")
hoursWorked = tk.StringVar(GUI)
payRate = tk.StringVar(GUI)
AL2 = tk.StringVar(GUI)
#BUTTON
def calculateAL():
hours = (hoursWorked.get())
rate = (payRate.get())
taxes = (AL)
salary = (ALTax())
tk.Label(GUI, text = "Total Pay: " + "%.2f" % salary).grid(row=4, column=3)
return
def ALTax():
(hoursWorked.get()*payRate.get())-(payRate.get()*AL.get())
AL2.trace("w", ALTax)
AL = 0.035
```
AZ = 0.03565
AK = 1
AR = 0.039
CA = 0.0715
CO = 1
CT = 0.04995
DE = 0.044
FL = 1
GA = 0.035
HI = 0.04825
ID = 4.5
IL = 1
IN = 1
IA = 0.0467
KS = 0.0405
KY = 0.04
LA = 0.04
ME = 0.06475
MD = 0.03875
MA = 1
MI = 1
MN = 0.076
MS = 0.04
MO = 0.0375
MT = 0.0395
NE = 0.0465
NV = 1
NH = 1
NJ = 0.05185
NM = 0.033
NY = 0.0641
NC = 1
ND = 0.02
OH = 0.0275
OK = 0.0275
OR = 0.0745
PA = 1
RI = 0.0487
SC = 0.035
SD = 1
TN = 1
TX = 1
UT = 1
VT = 0.0625
VA = 0.03875
WA = 1
WV = 0.0475
WI = 0.05825
WY = 1
DC = 0.06475
#ENTRY
tk.Label(GUI, text='Pay Rate:', font="110").grid(row=0)
tk.Label(GUI, text='Hours Worked:', font="110").grid(row=1)
e1 = tk.Entry(GUI)
e1 = Text(GUI, height=0.2, width=20)
e2 = tk.Entry(GUI)
e2 = Text(GUI, height=0.2, width=20)
e1.grid(row=0, column=1, sticky=W)
e2.grid(row=1, column=1, sticky=W)
#DROP DOWN MENU
opt = StringVar()
opt.set("Choose a state")
option = OptionMenu(GUI, opt, 'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'District of Columbia', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming')
option.grid(row=2, column=0)
def show():
print(option.get())
frame = tk.Frame(GUI)
frame.grid()
button = tk.Button(frame, text='Calculate', fg='red', command=calculateAL)
button.grid(row=1, column=0)
#EVENT LOOP
GUI.mainloop()