问题描述
我正在尝试预测用户给出的一组值
ty = [fst.get(),snd.get(),trdget(),fth.get(),ffth.get(),sxth.get(),svth.get(),eth.get()]
yow=rfcmodel.predict(ty)
print(yow)
ty 为变量列表,其中变量为:
fst = Entry(root,width=50,borderwidth=5)
snd = Entry(root,borderwidth=5)
trd = Entry(root,borderwidth=5)
fth = Entry(root,borderwidth=5)
ffth = Entry(root,borderwidth=5)
sxth = Entry(root,borderwidth=5)
svth = Entry(root,borderwidth=5)
eth = Entry(root,borderwidth=5)
我错过了什么吗?
完全追溯错误:
Traceback (most recent call last):
File "C:/Users/Zayn Justin/PycharmProjects/Software Engineering/Expert System with GUI.py",line 140,in <module>
ty = [[float(fst.get()),float(snd.get()),float(trd.get()),float(fth.get()),float(ffth.get()),float(sxth.get()),float(svth.get()),float(eth.get())]]
ValueError: Could not convert string to float:
编辑:我也尝试过
fst = Entry(root,borderwidth=5)
fstb = float(fst.get())
snd = Entry(root,borderwidth=5)
sndb = float(snd.get())
trd = Entry(root,borderwidth=5)
trdb = float(trd.get())
fth = Entry(root,borderwidth=5)
fthb = float(fth.get())
ffth = Entry(root,borderwidth=5)
ffthb = float(ffth.get())
sxth = Entry(root,borderwidth=5)
sxthb = float(sxth.get())
svth = Entry(root,borderwidth=5)
svthb = float(svth.get())
eth = Entry(root,borderwidth=5)
ethb = float(ethb.get())
ty = [[fstb,sndb,trdb,fthb,ffthb,sxthb,svthb,ethb]]
它仍然给了我,
Traceback (most recent call last):
File "C:/Users/Zayn Justin/PycharmProjects/Software Engineering/Expert System with GUI.py",line 39,in <module>
fstb = float(fst.get())
ValueError: Could not convert string to float:
解决方法
您正在传递空值。
我建议试试这个
for x in root.winfo_children():
if x.winfo_class() == 'Entry':
if x.get() != '':
# push all to the array
print(float(x.get()))
ty.append(float(x.get()))
-Eli
编辑:您也可以尝试先打印出这些值。添加了打印语句
,您是否使用过变量来存储用户输入的数据。
例如,
fst_val = fst.get()
他们将其用于列表中。
希望它有效...