Cool calculator. multiply, divide,add, subtract easily with arrow keys.
You welcome.
#simple calculator from math import * from kandinsky import * from ion import * from random import * from random import randint as R from time import * EXIT=False mycolor=(79, 93, 247) M=True D=False A=False S=False bg=default_c=(9,100,154) sym=["x","/","+","-"] func=sym[0] a=1 b=0 c=a*b a_x=None b_x=None cursor_LEFT=True cursor_RIGHT=False cursor_x=16 cursor_y=15 cursor_w=25 cursor_h=22 cursor_c="red" #line across def line(y,c): x=0 w=322 h=2 fill_rect(x,y,w,h,c) def printData(): global a,b,c draw_string(str(int(a))+" "+str(func)+" "+str(int(b)),20,20) draw_string("= "+str(int(c)),160,20,(0,255,0),(0,0,0)) def nLen(num): l=len(str(num)) #print(len(str(num))) return l def drawCursor(): global cursor_x,cursor_y,cursor_w,cursor_h,cursor_c fill_rect(cursor_x,cursor_y,cursor_w,2,cursor_c) def cursor_xy(): global slot,cursor_x,cursor_y,drawCursor if keydown(KEY_LEFT): cursor_x=16 clearScreen() printData() cursor_LEFT=True cursor_RIGHT=False if keydown(KEY_RIGHT): if len(str(a))==1: cursor_x = len(str(a)*7)+55 if len(str(a))>1: cursor_x = len(str(a)*7)+55 clearScreen() printData() cursor_LEFT=False cursor_RIGHT=True def clearScreen(): fill_rect(2,2,318,48,"white") def resetNum(): global a,b,c sleep(0.2) a=1 b=1 clearScreen() printData() def paint(): global bg,default_c fill_rect(0,50,322,222,bg) fill_rect(0,50,322,2,(0,0,0)) #outline/border fill_rect(0,0,2,222,(0,0,0)) fill_rect(319,0,2,222,(0,0,0)) fill_rect(0,0,322,3,(0,0,0)) fill_rect(0,220,322,2,(0,0,0)) def update(): global a,b,M,D,A,S,func,sym,cursor_x,cursor_y,nt if keydown(KEY_MULTIPLICATION): M=True D=False A=False S=False func=sym[0] clearScreen() printData() if keydown(KEY_DIVISION): M=False D=True A=False S=False func=sym[1] clearScreen() printData() if keydown(KEY_PLUS): M=False D=False A=True S=False func=sym[2] clearScreen() printData() if keydown(KEY_MINUS): M=False D=False A=False S=True func=sym[3] clearScreen() printData() if keydown(KEY_PLUS): M=False D=False A=True S=False if keydown(KEY_MINUS): M=False D=False A=False S=True #00000000000000000000000000 if keydown(KEY_ZERO) and cursor_x==16 or keydown(KEY_BACKSPACE) and cursor_x==16: a=0 if func==sym[1]: a=1 clearScreen() printData() if keydown(KEY_ZERO) and cursor_x>16 or keydown(KEY_BACKSPACE) and cursor_x>16: b=0 if func==sym[1]: a=1 clearScreen() printData() #11111111111111111111111111 if keydown(KEY_ONE) and cursor_x==16: a=1 clearScreen() printData() if keydown(KEY_ONE) and cursor_x>16: b=1 clearScreen() printData() #2222222222222222222222222 if keydown(KEY_TWO) and cursor_x==16: a=2 clearScreen() printData() if keydown(KEY_TWO) and cursor_x>16: b=2 clearScreen() printData() #3333333333333333333333333 if keydown(KEY_THREE) and cursor_x==16: a=3 clearScreen() printData() if keydown(KEY_THREE) and cursor_x>16: b=3 clearScreen() printData() #444444444444444444444444 if keydown(KEY_FOUR) and cursor_x==16: a=4 clearScreen() printData() if keydown(KEY_FOUR) and cursor_x>16: b=4 clearScreen() printData() #5555555555555555555555555 if keydown(KEY_FIVE) and cursor_x==16: a=5 clearScreen() printData() if keydown(KEY_FIVE) and cursor_x>16: b=5 clearScreen() printData() #66666666666666666666666666 if keydown(KEY_SIX) and cursor_x==16: a=6 clearScreen() printData() if keydown(KEY_SIX) and cursor_x>16: b=6 clearScreen() printData() #77777777777777777777777777 if keydown(KEY_SEVEN) and cursor_x==16: a=7 clearScreen() printData() if keydown(KEY_SEVEN) and cursor_x>16: b=7 clearScreen() printData() #8888888888888888888888888 if keydown(KEY_EIGHT) and cursor_x==16: a=8 clearScreen() printData() if keydown(KEY_EIGHT) and cursor_x>16: b=8 clearScreen() printData() #99999999999999999999999999 if keydown(KEY_NINE) and cursor_x==16: a=9 clearScreen() printData() if keydown(KEY_NINE) and cursor_x>16: b=9 clearScreen() printData() #------------------------- #cursor up / down if cursor_x==16: if keydown(KEY_UP): sleep(0.17) a+=1 clearScreen() printData() if cursor_x>16: if keydown(KEY_UP): sleep(0.17) b+=1 clearScreen() printData() if cursor_x==16: if keydown(KEY_DOWN): sleep(0.17) a-=1 clearScreen() printData() if cursor_x>16: if keydown(KEY_DOWN): sleep(0.17) b-=1 clearScreen() printData() fill_rect(0,0,322,222,default_c) clearScreen() printData() fill_rect(150,2,170,50,(0,0,0)) while not EXIT: #print ans if M: c=a*b fill_rect(150,2,170,50,(0,0,0)) printData() if D: if b==0: b=1 c=a/b fill_rect(150,2,170,50,(0,0,0)) draw_string("= "+str(float(c)),160,20,(200,200,200),(0,0,0)) printData() if A: c=a+b fill_rect(150,2,170,50,(0,0,0)) printData() if S: c=a-b fill_rect(150,2,170,50,(0,0,0)) printData() update() cursor_xy() drawCursor() draw_string("[OK] = Random Number",20,70,(255,100,100),(0,0,0)) draw_string("UP,DOWN,SHIFT,BACKSPACE]=+(1)/-(1)",2,100,(0,0,0),bg) draw_string("[BACKSPACE] = Reset to 0.",2,130,(255,255,255),bg) if func==sym[1]: if a<=0:a=1 if cursor_LEFT: cursor_RIGHT=False if cursor_RIGHT: cursor_LEFT=False if keydown(KEY_OK): if cursor_x==16: sleep(0.2) clearScreen() a=R(1,50) if keydown(KEY_OK): if cursor_x > 16: sleep(0.2) clearScreen() b=R(1,50) if keydown(KEY_EXE): bg=(R(0,255),R(0,255),R(0,255)) sleep(0.2) paint() clearScreen() printData() if keydown(KEY_ANS): EXIT=True mycolor=bg cursor_c=bg draw_string("R,G,B:"+str(bg),10,160,(0,255,0),(0,0,0)) draw_string("TOTAL: R+G+B : "+str(int(bg[0])+int(bg[1])+int(bg[2])),10,190,(0,255,255),(0,0,0)) fill_rect(0,0,322,3,(0,0,0)) fill_rect(0,0,322,222,"white") fill_rect(0,0,322,100,(0,0,0)) fill_rect(0,100,322,35,bg) fill_rect(0,180,322,42,bg) draw_string("PRESS [OK] TO EXIT",40,50,'black','yellow') draw_string(str(mycolor),80,150) fill_rect(0,100,322,35,bg) fill_rect(0,180,322,42,bg) draw_string("PRESS [OK] TO EXIT",40,50,'black','yellow') print(mycolor)