初学者python(Tkinter)-如何要求汇率进行货币兑换?
我是一个编程初学者,如果代码混乱或太长,我很抱歉。 我的问题是:我被利率输入卡住了,如何把所有的东西放在一起,使转换工作 多谢各位初学者python(Tkinter)-如何要求汇率进行货币兑换?,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我是一个编程初学者,如果代码混乱或太长,我很抱歉。 我的问题是:我被利率输入卡住了,如何把所有的东西放在一起,使转换工作 多谢各位 from tkinter import * def convertDtoE(): fromDtoE=fromDtoEVar fromDtoEVar.get() fromEtoD=fromEtoDVar fromEtoDVar.get() fromDtoEVar.set(fromEtoD) def convertEtoD(
from tkinter import *
def convertDtoE():
fromDtoE=fromDtoEVar
fromDtoEVar.get()
fromEtoD=fromEtoDVar
fromEtoDVar.get()
fromDtoEVar.set(fromEtoD)
def convertEtoD():
fromDtoE=fromDtoEVar
fromDtoEVar.get()
fromEtoD=fromEtoDVar
fromEtoDVar.get()
fromEtoDVar.set(fromDtoE)
def main():
window=Tk()
global fromDtoEVar
fromDtoEVar=DoubleVar()
fromDtoEVar.set(0.0)
global fromEtoDVar
fromEtoDVar=DoubleVar()
fromEtoDVar.set(0.0)
aa=Label(window,text="Dollars")
aa.pack()
a=Entry(window,textvariable=fromDtoEVar)
a.pack()
rr=Label(window,text="Rate")
rr.pack()
rate=Entry(window)
rate.pack()
bb=Label(window,text="Euros")
bb.pack()
b=Entry(window,textvariable=fromEtoDVar)
b.pack()
c=Button(window, text="Convert Euros", command=convertEtoD)
c.pack()
d=Button(window, text="Convert Dollars", command=convertDtoE)
d.pack()
window.mainloop()
main()
我不确定您到底在问什么,但您的代码有一个非常大的问题,您需要重复多次,因此我假设这就是您想要修复的问题:
fromDtoE=fromDtoEVar
fromDtoEVar.get()
这没有任何用处。它返回DoubleVar的当前值,然后忽略该值。同时,您将另一个名称绑定到DoubleVar
本身,但随后使用了原始名称。我想你想要的是:
fromDtoE=fromDtoEVar.get()
现在,至少,您将实际复制周围的数字,而不是像PY\u VAR0
这样的Tk变量的字符串表示
你仍然没有做任何转换,只是来回复制数字。要解决这个问题,首先需要实际访问Rate小部件中的值。你可以用与其他两个小部件相同的方法攻击一个
DoubleVar
,用同样的方法访问它的值,然后只做数学运算。请修正你的行缩进,也请修正明显随机的换行符,以及第一个fromDtoEVar.set
行中的*
等散乱字符。作为旁注,为变量指定有意义的名称,而不是a
和aa
,确实很有帮助。(或者,如果您没有任何理由保留它们,请不要给它们命名,只要条目(window,textvariable=fromDtoEVar).pack()
)我刚刚编辑了代码。抱歉,我只是一个初学者,我试图理解的是:如何在代码中加入公式,使用汇率(用户输入)计算和转换货币@Alfiebrown:您必须以与获取其他两个值相同的方式获取汇率值,然后您可以编写代码进行转换(fromDtoE=fromEtoD/rate
…或者那是*rate
?我不确定你的应用程序应该走哪条路…),就在你的set
调用之前(fromDtoEVar.set(fromDtoE)
),所以它最终使用了计算结果。非常有用的评论。谢谢。