0
num1 = ""
operator = ""
1 2 3 +
4 5 6 -
7 8 9 =
0 C
def number(n):
global num1
num1 += str(n)
display.text = num1
def set_operator(op):
global num1, operator
if operator != "" or num1 == "":
return
operator = op
num1 += op
display.text = num1
def calculate():
global num1, operator
if operator == "":
return
parts = num1.split(operator)
if len(parts) != 2 or parts[0] == "" or parts[1] == "":
return
a = int(parts[0])
b = int(parts[1])
result = a + b if operator == "+" else a - b
display.text = str(result)
num1 = str(result)
operator = ""
def clear():
global num1, operator
num1 = ""
operator = ""
display.text = "0"
btn1.on("click", lambda e: number(1))
btn2.on("click", lambda e: number(2))
btn3.on("click", lambda e: number(3))
btn5.on("click", lambda e: number(4))
btn6.on("click", lambda e: number(5))
btn7.on("click", lambda e: number(6))
btn9.on("click", lambda e: number(7))
btn10.on("click", lambda e: number(8))
btn11.on("click", lambda e: number(9))
btn13.on("click", lambda e: number(0))
btn4.on("click", lambda e: set_operator("+"))
btn8.on("click", lambda e: set_operator("-"))
btn12.on("click", lambda e: calculate())
btn14.on("click", lambda e: clear())
← Back to demos