2016-12-14 1 views
-1

J'ai besoin de créer une ligne d'invite python gui qui permettra à l'utilisateur d'entrer deux flotteurs que je peux ensuite soustraire. La fonction Entrée crée des chaînes et je ne peux donc pas soustraire les nombres. J'ai essayé d'entourer la fonction float() autour de la création de la ligne d'entrée, mais cela ne semble pas être autorisé. S'il vous plaît aidez-moi à créer deux boîtes de saisie qui permettront à l'utilisateur de donner le coût d'un article (ex $ 4.31) et l'argent donné (ex 5.00) que je peux soustraire pour trouver le montant dont j'ai besoin pour faire un changement!Je dois créer une ligne d'invite gui qui permettra à l'utilisateur d'entrer deux flotteurs que je peux ensuite soustraire

import tkinter as tk 
from tkinter import * 
import subprocess as sub 
from tkinter import Tk, Label, Button, Entry, StringVar, DISABLED, NORMAL, END, W, E 

master = Tk() 

cost_label = Label(master, text="Enter Amount of Cost: $").grid(row=0) 
cash_label = Label(master, text="Enter Amount of Cash: $").grid(row=1) 
#WHERE I NEED HELP 
cost = Entry(master) 
cash = Entry(master) 

cost.grid(row=0, column=1) 
cash.grid(row=1, column=1) 


class Change(): 
    def __init__(self): 
     #ignore emptiness 

    def changeProgram(): 
    #while statements to find amount depending on different dollar or coin amount 
     #where im using the entries 
amount = cash - cash 
     one_hundred_dollars = 0 
     while amount >= 100: 
      amount -= 100 
      one_hundred_dollars += 1 

     fifty_dollars = 0 
     while amount >= 50: 
      amount -= 50 
      fifty_dollars += 1 

     twenty_dollars = 0 
     while amount >= 20: 
      amount -= 20 
      twenty_dollars += 1 

     ten_dollars = 0 
     while amount >= 10: 
      amount -= 10 
      ten_dollars += 1 

     five_dollars = 0 
     while amount >= 5: 
      amount -= 5 
      five_dollars += 1 

     dollars = 0 
     while amount >= 1: 
      amount -= 1 
      dollars += 1 

# find remaining amount of change 
     quarters = 0 
     while amount >= .25: 
      amount -= .25 
      quarters += 1 

     dimes = 0 
     while amount >= .1: 
      amount -= .1 
      dimes += 1 

     nickles = 0 
     while amount >= .05: 
      amount -= .05 
      nickles += 1 

# get the number of pennies 
     pennies = 0 
     while amount >= .01: 
      pennies += 1 
      amount -= .01 

      return one_hundred_dollars, fifty_dollars, twenty_dollars, ten_dollars, five_dollars, dollars, quarters, dimes, nickles, pennies 



    btnCalculate = Button(master, text="Calculate", fg="blue", command=changeProgram) #Calculate Button 
    btnCalculate.grid(padx=100, pady = 15) 

    def printoutput(one_hundred_dollars, fifty_dollars, twenty_dollars, ten_dollars, five_dollars, dollars, quarters, dimes, nickles, pennies): 

     output = "1 hundred dollars %s" %(one_hundred_dollars) 
     output += "\n fifty" 

     messagebox.showinfo("results", output) 

'''Label(master, text="One Hundred Dollars").grid(row=4) 
one_hundred_dollars_output = Entry(master=None, cnf={one_hundred_dollars}, state="readonly") 
one_hundred_dollars_output.grid(row=4, column=1) 
one_hundred_dollars_output.set(one_hundred_dollars)''' 

''' Label(master, text="Fifty").grid(row=4) 

    fifty_dollars_output = Entry(master, width=20, state="readonly") 
    fifty_dollars_output.grid(row=4, column=1) 
    fifty_dollars_output.set(fifty_dollars) 

    twenty_dollars_output = Entry(master, width=20, state="readonly") 
    twenty_dollars_output.set(twenty_dollars) 

    ten_dollars_output = Entry(master, width=20, state="readonly") 
    ten_dollars_output.set(ten_dollars) 

    five_dollars_output = Entry(master, width=20, state="readonly") 
    five_dollars_output.set(five_dollars) 

    dollars_output = Entry(master, width=20, state="readonly") 
    dollars_output.set(dollars) 

    quarters_output = Entry(master, width=20, state="readonly") 
    quarters_output.set(quarters) 

    dimes_output = Entry(master, width=20, state="readonly") 
    dimes_output.set(dimes) 

    nickles_output = Entry(master, width=20, state="readonly") 
    nickles_output.set(nickles) 

    pennies_output = Entry(master, width=20, state="readonly") 
    pennies_output.set(pennies) 


master.mainloop()''' 

Répondre

1

Pour récupérer les données d'un objet Entry, appelez sa méthode .get(), comme ceci:

amount = float(cash.get()) - float(cost.get())