#4t:Codding in Python {VIRTUAL CALCULATOR}

import math;import turtle as t
def main(a,b):
    for u in range(0,9):
        Manya=math.pow(10,u);
        for yy in (a):b.append(yy*Manya);a.remove(yy);break
w=t.Turtle();w.speed(0);w.ht()
def we(x,y,q):w.pu();w.goto(x,y);w.pd();w.write(q,font=('arial',30,'bold'))
we(-85,-50,'1');we(65,-100,'=');we(-85,0,'4');we(65,-50,'-');we(15,-100,'+');we(-35,-50,'2');we(65,-0,'*');we(-35,-100,'0');we(65,50,'/');we(15,-50,'3');we(-35,0,'5');we(15,-0,'6');we(-35,50,'8');we(15,50,'9');we(-85,50,'7')
qqqlist=[];kkklist=[];total=[];func=['kk'];qlist=['yt'];qqlist=['pp'];pp='pp';klist=[];kklist=[];q=t.Turtle();q.ht();r=t.Turtle();r.ht();r.speed(0);r.pu();r.goto(-250,50);t.pd();q.pu();q.speed(0);q.goto(-100,100);q.pd();
for o in range(2):    q.fd(200);q.right(-90);q.fd(50);q.right(-90)
t.pu();t.goto(-100,100);t.pd();t.speed(0);q.pu();q.goto(-92.5,100);q.pd()
for c in range(4):
    for a in range(4):
        for b in range(4):
            t.fd(50);t.right(90)
        t.fd(50)
    t.right(90);t.fd(50);t.right(90);t.fd(200); t.right(180)
def logic(x,x1,y,y1,z ):
    if t.xcor()<x and t.xcor()>x1:
        if t.ycor()<y and t.ycor()>y1:
            square=z
            def num(a,b,c):
                if square==a:q.write(b,font=('arial',30,'bold'));q.pu();q.fd(20);q.pd();c.insert(0,b);
            def good(j):
                if j in (func):
                    if pp in (qqlist):num('one',1,qqlist);num('two',2,qqlist);num('three',3,qqlist);num('four',4,qqlist);num('five',5,qqlist);num('six',6,qqlist);num('seven',7,qqlist);num('eight',8,qqlist);num('nine',9,qqlist);num('zero',0,qqlist)                                           
            good('+');good('-');good('*');good('/');   
            if 'yt' in (qlist):num('one',1,qlist);num('two',2,qlist);num('three',3,qlist);num('four',4,qlist);num('five',5,qlist);num('six',6,qlist);num('seven',7,qlist);num('eight',8,qlist);num('nine',9,qlist);num('zero',0,qlist)
            if 'kk' not in (func):
                    if 'yt' in (qlist):qlist.remove('yt')
                    num('one',1,qqqlist);num('two',2,qqqlist);num('three',3,qqqlist);num('four',4,qqqlist);num('five',5,qqqlist);num('six',6,qqqlist);num('seven',7,qqqlist);num('eight',8,qqqlist);num('nine',9,qqqlist);num('zero',0,qqqlist)       
            def work2(f):               
                if square==f:                    
                    if 'yt' in (qlist): qlist.remove('yt')
                    func.append(f); r.color('White'); r.goto(-250,50);  r.begin_fill()
                    for w in range(4):r.fd(50);r.right(-90)
                    r.end_fill();r.color('Black');r.write(f,font=('arial',30,'bold'));q.pu();q.fd(20);q.goto(-100,100);q.color('White');q.pd();q.begin_fill()
                    for o in range(2):q.fd(200);q.right(-90);q.fd(50);q.right(-90)
                    q.end_fill();q.pu();q.goto(-100,100);q.pd();q.color('Black')
                    for o in range(2):q.fd(200);q.right(-90);q.fd(50);q.right(-90)
                    q.pu();q.goto(-92.5,100);q.pd();main(qlist,klist)                    
            work2('+');work2('-');work2('*');work2('/');
            if square=='=':
                r.color('White');r.goto(-250,50);r.begin_fill()
                for w in range(4):r.fd(50);r.right(-90)
                r.end_fill();r.color('Black');r.write('=',font=('arial',30,'bold'))
            if square=='=':
                func.append('=')
                if pp in (qqlist):qqlist.remove(pp)
                main(qqlist,kklist);q.goto(-100,100);q.color('White');q.pd();q.begin_fill()
                for o in range(2):q.fd(200);q.right(-90);q.fd(50);q.right(-90)
                q.end_fill();q.pu();q.goto(-100,100);q.pd();q.color('Black')
                for o in range(2):q.fd(200);q.right(-90);q.fd(50);q.right(-90)
                q.pu();q.goto(-92.5,100);q.pd()
                if 'kk' in (func):
                    func.remove('kk')
                    if '+' in (func):ds=sum(kklist)+sum(klist);q.write(ds,font=('arial',30,'bold'));func.remove('+');total.append(ds);
                    if '-' in (func):ds=sum(klist)-sum(kklist);q.write(ds,font=('arial',30,'bold'));func.remove('-');total.append(ds);
                    if '*' in (func):ds=sum(kklist)*sum(klist);q.write(ds,font=('arial',30,'bold'));func.remove('*');total.append(ds);
                    if '/' in (func):ds=sum(klist)/sum(kklist);q.write(ds,font=('arial',30,'bold'));func.remove('/');total.append(ds);
                    func.remove('=')
                if 'kk' not in (func):
                    main(qqqlist,kkklist)
                    if '+' in (func):ds1=sum(total)+sum(kkklist);q.write(ds1,font=('arial',30,'bold'));func.remove('+');kkklist.clear();total.clear();total.append(ds1);func.remove('=');
                    if '-' in (func):ds1=sum(total)-sum(kkklist);q.write(ds1,font=('arial',30,'bold'));func.remove('-');kkklist.clear();total.clear();total.append(ds1);func.remove('=');
                    if '*' in (func):ds1=sum(total)*sum(kkklist);q.write(ds1,font=('arial',30,'bold'));func.remove('*');kkklist.clear();total.clear();total.append(ds1);func.remove('=');
                    if '/' in (func):ds1=sum(total)/sum(kkklist);q.write(ds1,font=('arial',30,'bold'));func.remove('/');kkklist.clear();total.clear();total.append(ds1);func.remove('=');
def mex(x,y):
    t.pu();t.goto(x,y);t.pd()
    logic(-50,-100,0,-50,'one' );logic(0,-50,0,-50,'two' );logic(50,0,0,-50,'three' );logic(-50,-100,50,0,'four' );logic(0,-50,50,0,'five' );logic(50,0,50,0,'six');logic(-50,-100,100,50,'seven' );
    logic(0,-50,100,50,'eight' );logic(50,0,100,50,'nine');logic(0,-50,-50,-100,'zero' );logic(50,0,-50,-100,'+');logic(100,50,0,-50,'-' );logic(100,50,50,0,'*');logic(100,50,-50,-100,'=');logic(100,50,100,50,'/')
t.onscreenclick(mex,1)



Get CODES here.

    
    

Comments