python - 我正在使用 TKinter,它说存在浮点转换错误
问题描述
我正在使用 TKinter,它说第 14-18 行存在浮点转换错误。我正在尝试制作复利公式。
from Tkinter import Tk, Label, Entry
master = Tk()
master.title('Compound Interest Calculator')
master.geometry('1000x1000')
Label(master, text="Principal Amount").grid(row=0)
Label(master, text="Time").grid(row=1)
Label(master, text="Interest rate").grid(row=2)
Label(master, text="Compounded (per year)").grid(row=3)
Label(master, text="Final").grid(row=4)
prin = Entry(master)
time = Entry(master)
ir = Entry(master)
c = Entry(master)
A1=float(prin.get()) #error in this line and the 4 lines that follow it
A2=float(time.get())
A3=float(ir.get())
A4=float(c.get())
final = A1 * (((1 + (A3/A4)) ** (A4*A2)))
prin.grid(row=0, column=1)
time.grid(row=1, column=1)
ir.grid(row=2, column=1)
c.grid(row=3, column=1)
final.grid(row=4, column=1)
master.mainloop()
谢谢。
解决方案
问题是当您调用时,.get()
他会获取条目的值并返回,因为它仍然是空的,所以他会抛出错误。要解决这个问题,您应该添加一个带有回调的按钮,当按下按钮时,他将获取值并进行数学运算。试试下面的代码,应该可以正常工作:
from Tkinter import Tk, Label, Entry, Button
def get_values():
global master
A1 = float(prin.get())
A2 = float(time.get())
A3 = float(ir.get())
A4 = float(c.get())
final = A1 * (((1 + (A3/A4)) ** (A4*A2)))
Label(master, text=str(final)).grid(row=4, column=1)
if __name__ == "__main__":
master = Tk()
master.title('Compound Interest Calculator')
master.geometry('1000x1000')
Label(master, text="Principal Amount").grid(row=0)
Label(master, text="Time").grid(row=1)
Label(master, text="Interest rate").grid(row=2)
Label(master, text="Compounded (per year)").grid(row=3)
Label(master, text="Final").grid(row=4)
prin = Entry(master)
time = Entry(master)
ir = Entry(master)
c = Entry(master)
prin.grid(row=0, column=1)
time.grid(row=1, column=1)
ir.grid(row=2, column=1)
c.grid(row=3, column=1)
Button(master, text="OK", command=get_values).grid(row=5, column=1)
master.mainloop()
推荐阅读
- docker - 找不到类“Twig_Function”
- excel - FormulaR1C1 sumIF 删除重复项 + 连接
- ios - Xamarin Native 中具有部分布局问题的 UICollectionView
- java - 通知未显示
- python - Excel 到 Json Python 文件
- excel - 是否可以有一个动态的排序范围?
- reactjs - 使用 yup 和 formik 显示值 inisde 验证消息
- microsoft-graph-api - 从 Microsoft 图形检索分配给 Outlook 插件的用户/组
- vue.js - vue create command:webpack和loader是否自动配置
- ios - 将 UIView 边缘固定到 UITableViewCell contentView 时出现布局错误