【发布时间】:2019-01-11 10:56:12
【问题描述】:
不断弹出说
File "script1.py", line 6, in conversion
weight = float(e1_value.get()) * 1000
ValueError: could not convert string to float:
当我运行我的代码时,有什么想法吗?
找不到任何空格或任何东西来告诉我为什么它不会转换输入。
from tkinter import *
window = Tk()
def conversion():
weight = float(e1_value.get()) * 1000
weight = float(e2_value.get()) * 2.20462
weight = float(e3_value.get()) * 35.274
t1.insert(END,weight)
e1_value = StringVar()
e1 = Entry(window, textvariable = e1_value)
e1.grid(row = 1, column = 0)
e2_value = StringVar()
e2 = Entry(window, textvariable = e2_value)
e2.grid(row = 1, column = 1)
e3_value = StringVar()
e3 = Entry(window, textvariable = e3_value)
e3.grid(row = 1, column = 2)
b1 = Button(window, text = 'Convert', command = conversion)
b1.grid(row = 0, column = 2)
t1 = Text(window, height = 1, width = 20)
t1.grid(row = 0, column = 1)
window.mainloop()
应该希望将转换后的重量输出到三个单独的框中。
【问题讨论】:
-
它没有告诉你它在抱怨哪一行代码吗?
-
请显示完整和准确的错误信息。
-
您也应该复制/粘贴您的输入。也许是使用语言环境和逗号与点作为小数分隔符的事情。
-
添加完整的错误信息谢谢
-
您的代码正在从 e1、e2、e3 中获取 3 个单独的值并进行转换?尽管在转换函数的每一行中,您都覆盖了权重。因此,如果您在 3 个单独的框中输入值并单击转换,您将看到它在单个框中为您提供了一个数字。
标签: python-3.x tkinter