2014-11-18 2 views
0

사용자가 통화 및 미국 달러 금액을 입력하고 프로그램에서 변환을 실행하고 프로그램을 실행하게하는 프로그램을 만들려고합니다. 결과를 사용자에게 알려줍니다. 나는 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) 

나는 수많은 웹 사이트를 통해 검토 한 결과,하지만 난 통합하는 방법에 대한 어디서나 유용한 정보를 발견하지 않았습니다 두 사람 함께. 누구든지 제가해야 할 일을 이해하도록 도울 수 있다면, 크게 감사하겠습니다.

답변

0

질문 수정 : 다른 항목의 값에 따라 항목의 값을 업데이트하는 방법은 무엇입니까? 이 같은 코드를 요구하는 것 : 쇼와 현재 바인딩에서

value=eval(entryDollar.get()) 
entryCurrency.delete(0,END) 
entryCurrency.insert(0,repr(value*exchangeRate)) 

, <Return> 당신이 변환하고 싶은 방향 불분명를; 방향 지시자가 도움이 될 수 있습니다.

관련 문제