Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define variables
- error=''
- accumulator = 0
- mem = 0
- op = ''
- #import GUI
- from appJar import gui
- app=gui("Grid Demo", "500x600")
- app.setSticky("news")
- app.setExpand("both")
- app.setFont(20)
- # Do the math will take the accumulator and memory registers and perform the prevailing operation on them.
- # It returns the result, as an integer
- def doTheMath(a,b,o):
- if o == "add":
- return a + b
- if o == "sub":
- return b - a
- if o == "mul":
- return a * b
- if o == "div":
- return b/a
- #press function defines the output of each button.
- def press(button):
- global accumulator
- global mem
- global op
- print ("A button was pressed: " + button)
- if button == "C":
- accumulator = 0
- op = ""
- mem = 0
- elif button == "=":
- accumulator = doTheMath(accumulator,mem,str(op))
- mem = 0
- op = ""
- elif button == "+":
- op = "add"
- mem = accumulator
- accumulator = 0
- elif button == "-":
- op = "sub"
- mem = accumulator
- accumulator = 0
- elif button == "x":
- op = "mul"
- mem = accumulator
- accumulator = 0
- elif button == "รท":
- op = "div"
- mem = accumulator
- accumulator = 0
- else:
- accumulator = accumulator * 10 + int(button)
- print ("Acc: " + str(accumulator) + ", op: " + op + ", mem: " + str(mem))
- app.go()
- #define widgets in GUI
- app.addLabel("bar", error+str(accumulator), 0, 0, 3)
- app.addButtons(["1"], press, 3, 0)
- app.addButtons(["2"], press, 3, 1)
- app.addButtons(["3"], press, 3, 2)
- app.addButtons(["4"], press, 2, 0)
- app.addButtons(["5"], press, 2, 1)
- app.addButtons(["6"], press, 2, 2)
- app.addButtons(["7"], press, 1, 0)
- app.addButtons(["8"], press, 1, 1)
- app.addButtons(["9"], press, 1, 2)
- app.addButtons(["0"], press, 4, 1)
- app.addButtons(["+"], press, 3, 3)
- app.addButtons(["-"], press, 4, 3)
- app.addButtons(["x"], press, 2, 3)
- app.addButtons(["รท"], press, 1, 3)
- app.addButtons(["="], press, 4, 2)
- app.addButtons(["C"], press, 4, 0)
- app.go()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement