因此,让我首先说我才刚刚开始学习python,因此代码中的任何错误都是由于这一事实。
无论如何,我试图为球体的体积创建一个简单的计算器,所以我去创建了这个VVV
import cmath
pi = cmath.pi
r = input("radius length: ")
V = 4 * pi * (float(r)**3)/3
print(V)
exit = input("Click enter to exit ")
是的,我知道,超级简单,对吗?好吧,可以说我曾尝试使用TKinter制作此版本的更具视觉吸引力的版本,但惨遭失败,不知道怎么做。
这是可怕的代码VVV
from tkinter import *
import cmath
root = Tk()
r = IntVar()
pi = cmath.pi
askradius = Label(root, text="Enter radius")
askradius.grid(row="1", column="0")
radius = Entry(root, textvariable=r)
radius.grid(row="1", column="1")
V = 4 * pi * (float(r)**3)/3
Result = Label(root, text=V)
Result.grid(row="0", columnspan="2")
root.mainloop()
我知道我没有做很多事情,但是请记住,这正是我可以访问的少量信息所能提供的。不管怎样,总而言之,我想说的是,我想我正在“将精巧的卷代码实现到TKinter小部件中,但是由于我几乎不了解TKinter,所以我在某个地方搞砸了并且出错了”。
错误说:
TypeError:float()参数必须是字符串或数字,而不是'IntVar'
答案 0 :(得分:1)
r
不是数字,它是一个对象。您不能将其转换为浮点数,但是可以转换其值。更改此:
V = 4 * pi * (float(r)**3)/3
对此:
V = 4 * pi * (float(r.get())**3)/3