【发布时间】:2014-11-18 22:26:04
【问题描述】:
我正在尝试制作一个程序,允许用户输入货币和美元金额,并让程序运行转换,当然向用户显示结果。我正在使用 tkinter 并弹出一个 gui,用户可以在其中输入值,到目前为止,它只打印用户在 IDLE 窗口中输入的任何内容(以测试我所拥有的是否会做任何事情)。
from tkinter import *
from math import *
fields = 'Dollars' , 'Currency'
def fetch(entries):
for entry in entries:
field = entry[0]
text = entry[1].get()
print('%s: "%s"' % (field, text))
def makeform(root, fields):
entries = []
for field in fields:
row = Frame(root)
lab = Label(row, width = 15, text = field, anchor = 'w')
ent = Entry(row)
row.pack(side = TOP, fill = X, padx=5, pady = 5)
lab.pack(side = LEFT)
ent.pack(side = RIGHT, expand = YES, fill = X)
entries.append((field, ent))
return entries
if __name__ == '__main__':
root = Tk()
ents = makeform(root, fields)
root.bind('<Return>', (lambda event, e = ents: fetch(e)))
b1 = Button(root, text = 'Show', command = (lambda e=ents: fetch(e)))
b1.pack(side = LEFT, padx = 5, pady =5)
b2 = Button(root, text = 'Quit', command=root.quit)
b2.pack(side = LEFT, padx = 5, pady = 5)
root.mainloop()
我用来转换货币的唯一代码是这样的:
def convert():
option = input("Please enter what you would like to convert $ to; Yen, Euros, or Pesos: ")
dollars = eval(input("Please enter the dollar amount you wish to convert: "))
if dollars < 0:
print("You must enter a value greater than 0.")
convert()
elif option == "Yen":
print("The amount of Yen you have is: ", dollars * 106.84)
elif option == "Euros":
print("The amount of Euros you have is: ", dollars * 0.77)
elif option == "Pesos":
print("The amount of Pesos you have is: ", dollars * 13.38)
我浏览了许多网站,但在任何地方都没有找到任何有用的信息来说明如何将两者结合在一起。如果有人可以帮助我了解我需要做什么,将不胜感激。
【问题讨论】: