Support our Blind Hand Charity by donating at 9818291723. Your contribution has the potential to bring about significant positive change for humanity.

Search This Blog

Thursday, June 6, 2024

STUDENT RECORD KEEPER

 def add(n):

    f=open('result.txt','a')

    x=n.split('#')

    for i in range(len(x)):

        f.write(x[i])

        if i==9:

            f.write('$')

        else:

            f.write('@')

    f.close()


def srch(a):

    f=open('result.txt')

    fr=f.read()

    fr=fr.split('$')

    c=0

    x=''

    for i in range(0,len(fr)-1):

        fr[i]=fr[i].split('@')

    for i in range(0,len(fr)-1):

        if int(fr[i][1])==a:

            x=fr[i]

            c=1

    f.close()

    return [c,x]


def edit(n,a,b):

    f=open('result.txt')

    fr=f.read()

    f.close()

    fn=open('result.txt','w')

    t=0

    fr=fr.split('$')

    for i in range(len(fr)-1):

        fr[i]=fr[i].split('@')

    for i in range(len(fr)-1):

        if int(fr[i][1])==a:

            fr[i][n]=str(b)

            t=1

        for j in range(len(fr[i])):

            fn.write(fr[i][j])

            if j==len(fr[i])-1:

                fn.write('$')

            else:

                fn.write('@')

    fn.close()

    return t


def disp():

    f=open('result.txt')

    fr=f.read()

    fr=fr.split('$')

    l=[]

    m=[]

    for i in range(0,len(fr)-1):

        fr[i]=fr[i].split('@')

        l.append([i,float(fr[i][9])])

        m.append(float(fr[i][9]))

    m.sort()

    i=j=0

    x=len(l)

    r=[]

    while len(l)>0 and j<x:

        if i==len(l):

            i=0

        if l[i][1]==m[j]:

            r.append(fr[l[i][0]])

            j+=1

        i+=1

    f.close()

    return r

def dell(a):

    f=open('result.txt')

    fr=f.read()

    f.close()

    fn=open('result.txt','w')

    t=0

    fr=fr.split('$')

    for i in range(len(fr)-1):

        fr[i]=fr[i].split('@')

    for i in range(len(fr)-1):

        if int(fr[i][1])==a:

            fr.pop(i)

            t=1

        for j in range(len(fr[i])):

            fn.write(fr[i][j])

            if j==9:

                fn.write('$')

            else:

                fn.write('@')

    fn.close()

    return t


while True:

    print("""Choose the operation to perform:

[1]. Add a record

[2]. Search a record

[3]. Display data

[4]. Edit a record

[5]. Delete a record

[6]. Exit""")

    o=int(input("Enter the operation number to perform = "))

    if o==6:

        print("Would you like to share feedback?")

        s=input("y/n ? = ")

        if s.lower()=='y':

            f=open("feedback250524","a")

            d=input("Enter your feedback : ")

            f.write(d)

            print("Thank you, your feedback is very valuable.")

            f.close()

        else:

            break

    elif o==1:

        sn=input("Enter Student name = ")

        fn=input("Enter Father name = ")

        mn=input("Enter Mother name = ")

        r=int(input("Enter Roll no. ="))

        s1=int(input("Enter marks of first subject = "))

        s2=int(input("Enter marks of second subject = "))

        s3=int(input("Enter marks of third subject = "))

        s4=int(input("Enter marks of fourth subject = "))

        s5=int(input("Enter marks of fifth subject = "))

        t=(s1+s2+s3+s4+s5)/5

        if 33<t<=100:

            p='PASS'

        else:

            p='FAIL'

        if 90<t<=100:

            r='A1'

        elif 80<t<=90:

            r='A2'

        elif 70<t<=80:

            r='B1'

        elif 60<t<=70:

            r='B2'

        elif 50<t<=60:

            r='C1'

        elif 40<t<=50:

            r='C2'

        elif 30<t<=40:

            r='D1'

        elif 20<t<=30:

            r='D2'

        else:

            r='E'

        n=sn+'#'+str(r)+'#'+fn+'#'+mn+'#'+str(s1)+'#'+str(s2)+'#'+str(s3)+'#'+str(s4)+'#'+str(s5)+'#'+str(t)+'#'+r+'#'+p

        add(n)

        print("RECORD ADDED")

    elif o==2:

        r=int(input("Enter Roll no. = "))

        c=srch(r)

        if c[0]==1:

            if len(c[1])>=1:

                print("──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────")

                print("Student Name\tRoll no.\tFather name\tMother name\tSub1\tSub2\tSub3\tSub4\tSub5\tPercentage\tGrade")

                print(c[1][0],'\t',c[1][1],'\t\t',c[1][2],'\t',c[1][3],'\t',c[1][4],'\t',c[1][5],'\t',c[1][6],'\t',c[1][7],'\t',c[1][8],'\t',c[1][9],'\t\t',c[1][10],'\t',c[1][11])

                print("──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────")

            else:

                print("No data available")

        else:

            print("Data not found")

    elif o==3:

        z=disp()

        print("──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────")

        print("Student Name\tRoll no.\tFather name\tMother name\tSub1\tSub2\tSub3\tSub4\tSub5\tPercentage\tGrade")

        for i in range(0,len(z)):

            print(z[i][0],'\t',z[i][1],'\t\t',z[i][2],'\t',z[i][3],'\t',z[i][4],'\t',z[i][5],'\t',z[i][6],'\t',z[i][7],'\t',z[i][8],'\t',z[i][9],'\t\t',z[i][10],'\t',z[i][11])

            print("──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────")

    elif o==4:

        a=input("Enter roll no. = ")

        print("""What do you want to modify:

[1]. Student name

[2]. Roll no.

[3]. Father name

[4]. Mother name

[5]. Subject 1

[6]. Subject 2

[7]. Subject 3

[8]. Subject 4

[9]. Subject 5

[10].Exit""")

        n=int(input("Enter the data number = "))

        if n==1 or n==3 or n==4:

            b=int("Enter element = ")

        elif n==10:

            break

        else:

            b=int(input("Enter element = "))

        c=edit(n-1,a,b)

        if c==1:

            print("Record updated")

        else:

            print("Record Does not exist")

    elif o==5:

        a=input("Enter Roll no. = ")

        c=dell(a)

        if c==1:

            print("Record Deleted")

        else:

            print("Record Does not exist")

print("""---------Thank You for accesing the program--------""")

CRICKET MATCH RECORD KEEPER

 import random as ran


'Tag\tPlayer\tBall played\tScore\tFall of Wicket\tSRR'


'''tags

B Batsman

BW Bowler

AR All rounder

W Wicket keeper

C captain'''


print("""Choose match type:

[1]. ODI

[2]. T-20

[3]. Custom Overs""")

mtch=int(input("Enter the match type = "))

if mtch==1:

    ovr=50

elif mtch==2:

    ovr=20

elif mtch==3:

    ovr=int(input("Enter total overs = "))

mnm=input("Enter match name = ")

def plnm(x,z):

    f=open(z+'.txt','a')

    for i in range(0,len(x)):

        if i==len(x)-1:

            f.write(x[i])

            f.write('$')

        else:

            f.write(x[i])

            f.write('@')


t1nm=input("Enter team-1 name = ")

f=open(t1nm+'.txt','w')

f.close()

print("Player details for TEAM "+t1nm)

for i in range(0,11):

    print(''' Choose player tag

B Batsman

BW Bowler

AR All rounder

W Wicket keeper

VC Vice Captain

C captain''')

    while True:

        tg=input("Enter Tag = ")

        if tg.upper() not in ['C','W','BW','AR','B']:

            print("Invalid Tag")

        else:

            break

    nm=input("Enter player name = ")

    print('────────────────────────────')

    plnm([tg.upper(),nm,'0','0','0','0','0'],t1nm)


t2nm=input("Enter team-2 name = ")

f=open(t2nm+'.txt','w')

f.close()

print("Player details for TEAM "+t2nm)

for i in range(0,11):

    print(''' Choose player tag

B Batsman

BW Bowler

AR All rounder

W Wicket keeper

VC Vice captain

C captain''')

    while True:

        tg=input("Enter Tag = ")

        if tg.upper() not in ['C','W','BW','AR','B']:

            print("Invalid Tag")

        else:

            break

    nm=input("Enter player name = ")

    

    print('────────────────────────────')

    plnm([tg.upper(),nm,'0','0','0','0','0'],t2nm)


#t1mt=[['C','Naman Arora',0,0,0,0,0],['VC','Kallu Singh',0,0,0,0,0],['W','Chiku Singh',0,0,0,0,0],['WB','Ravi Roy',0,0,0,0,0],['W','Saanu Satija',0,0,0,0,0],['WB','Raghu Chawla',0,0,0,0,0],['B','Zubaid Kumar',0,0,0,0,0],['B','Kanu Kumar',0,0,0,0,0],['AR','Laali Paaji',0,0,0,0,0],['AR','Kishan Lal',0,0,0,0,0],['B','Jyoti',0,0,0,0,0]]

#t2mt=[['C','Aman Arora',0,0,0,0,0],['VC','Montu Singh',0,0,0,0,0],['W','Chintu Singh',0,0,0,0,0],['WB','Ram Roy',0,0,0,0,0],['W','big Sannu',0,0,0,0,0],['WB','Ramu Chawla',0,0,0,0,0],['B','Zafar Kumar',0,0,0,0,0],['B','Shanu Satija',0,0,0,0,0],['AR','Chiku Bhai',0,0,0,0,0],['AR','Tim  cook',0,0,0,0,0],['AR','Kiku gupta',0,0,0,0,0],['B','Tiku mishra',0,0,0,0,0]]


def srttmA(far):

    fa=open(a+'.txt')

    far=fa.read()

    la=[]

    for i in range(0,len(far)):

        far[i]=far[i].split('@')

        la.append(far[i][0])

    tma=[]

    i=0

    while la.count('C')!=0:

        if far[i][0]=='C':

            tma.append(far[i])

            far.pop(i)

            la.pop(i)

            i-=1

        i+=1

    i=0

    while la.count('VC')!=0:

        if far[i][0]=='VC':

            tma.append(far[i])

            far.pop(i)

            la.pop(i)

            i-=1

        i+=1

    i=0

    while la.count('B')!=0:

        if far[i][0]=='B':

            tma.append(far[i])

            far.pop(i)

            la.pop(i)

            i-=1

        i+=1

    i=0

    while la.count('WB')!=0:

        if far[i][0]=='WB':

            tma.append(far[i])

            far.pop(i)

            la.pop(i)

            i-=1

        i+=1

    i=0

    while la.count('AR')!=0:

        if far[i][0]=='AR':

            tma.append(far[i])

            far.pop(i)

            la.pop(i)

            i-=1

        i+=1

    i=0

    while la.count('W')!=0:

        if far[i][0]=='W':

            tma.append(far[i])

            far.pop(i)

            la.pop(i)

            i-=1

        i+=1

    fb.close()

    return tma


def srttmB(fbr):

    fb=open(b+'.txt')

    fbr=fb.read()

    lb=[]

    for i in range(0,len(fbr)):

        fbr=fbr[i].split('@')

        lb.append(fbr[i][0])

    tmb=[]

    i=0

    while lb.count('C')!=0:

        if fbr[i][0]=='C':

            tmb.append(fbr[i])

            fbr.pop(i)

            lb.pop(i)

            i-=1

        i+=1

    i=0

    while lb.count('B')!=0:

        if fbr[i][0]=='B':

            tmb.append(fbr[i])

            fbr.pop(i)

            lb.pop(i)

            i-=1

        i+=1

    i=0

    while lb.count('WB')!=0:

        if fbr[i][0]=='WB':

            tmb.append(fbr[i])

            fbr.pop(i)

            lb.pop(i)

            i-=1

        i+=1

    i=0

    while lb.count('AR')!=0:

        if fbr[i][0]=='AR':

            tmb.append(fbr[i])

            fbr.pop(i)

            lb.pop(i)

            i-=1

        i+=1

    i=0

    while lb.count('W')!=0:

        if fbr[i][0]=='W':

            tmb.append(fbr[i])

            fbr.pop(i)

            lb.pop(i)

            i-=1

        i+=1

    fb.close()

    return tmb


tm1=srttmA(t1mt)

tm2=srttmB(t2mt)

print('\t'+t1nm)

print("│ TAGS\tPLAYERS")

for i in range(0,len(tm1)):

    print('│',tm1[i][0],'\t',tm1[i][1])

print('\n')

print('\t'+t2nm)

print("│ TAGS\tPLAYERS")

for i in range(0,len(tm2)):

    print('│',tm2[i][0],'\t',tm2[i][1])

tms=[[t1nm,tm1],[t2nm,tm2]]


print("""Choose the Batting team:

[1]."""+t1nm+"""

[2]."""+t2nm)

tm=int(input("Enter the team No. =  "))

tmbt=tm-1

tmbl=2-tmbt-1


def chsbtmn(tmbt):

    print()

    for i in range(0,11):

        print(i+1,tms[tmbt][1][i][1])

    while True:

        b1=int(input("Select batsman number = "))

        if 0<b1<=11 and int(tms[tmbt][1][b1-1][6])<1:

            b=b1-1

            tms[tmbt][1][b1-1][6]=1

            break

        else:

            print("PLAYER CANNOT BE SELECTED")

    return b


def chsblmn(tmbl):

    print()

    for i in range(0,11):

        print(i+1,tms[tmbl][1][i][1])

    while True:

        b1=int(input("Select Bowler number = "))

        if 0<b1<=11:

            b=b1-1

            break

        else:

            print("PLAYER CANNOT BE SELECTED")

    return b


print('\nMATCH BEGINS')

scr1=1

print('───────────────')

for i in range(0,2):

    if i==1:

        tmbl,tmbt=tmbt,tmbl

        print("TEAM",tms[tmbl][0],"RUNS :",scr1)

        print("SECOND INNING BEGINS")

    ot=0

    b1=chsbtmn(tmbt)

    b2=chsbtmn(tmbt)

    bp=chsblmn(tmbl)

    print("OPENING BATSMAN :",tms[tmbt][1][b1][0],tms[tmbt][1][b1][1])

    bl=1

    ov=1

    scr2=0

    while True:

        if i==1:

            if scr2>=scr1:

                break

        print("Striker :",tms[tmbt][1][b1][1])

        print("Bowler :",tms[tmbl][1][bp][1])

        print("Runs :",int(tms[tmbt][1][b1][3]))

        print("SRR :",int(tms[tmbt][1][b1][5]))

        if i==1:

            print("Target :",scr1)

        if bl>6:

            ov+=1

            if ov>ovr:

                break

            bl=1

            bp=chsblmn(tmbl)

        print("OVER :",ov)

        print("BALL :",bl)

        bl+=1

        print("""Choose the entry

    [1]. Run

    [2]. Out""")

        op=int(input("Enter option number = "))

        if op==1:

            while True:

                r=int(input("Enter Runs = "))

                if 0<=r<=6:

                    tms[tmbt][1][b1][3]=int(tms[tmbt][1][b1][3])+r

                    tms[tmbt][1][b1][2]=int(tms[tmbt][1][b1][2])+1

                    if i==0:

                        scr1+=r

                    elif i==1:

                        scr2+=1

                    tms[tmbt][1][b1][5]=int(tms[tmbt][1][b1][3])/int(tms[tmbt][1][b1][2])

                    if int(tms[tmbt][1][b1][3])==50:

                        print("It's a HALF CENTURY")

                        print('┌─────   ┌─────┐')

                        print('│        │     │')

                        print('└─────┐  │     │')

                        print('      │  │     │')

                        print('──────┘  └─────┘')

                    elif int(tms[tmbt][1][b1][3])==100:

                        print("It's a CENTURY")

                        print('   /│     ┌─────┐ ┌─────┐')

                        print('  / │     │     │ │     │')

                        print('    │     │     │ │     │')

                        print('    │     │     │ │     │')

                        print('────┴──── └─────┘ └─────┘')

                    if r==1 or r==3 or r==5:

                        b1,b2=b2,b1

                    elif r==4:

                        print("It's a FOUR")

                        print('│     │')

                        print('│     │')

                        print('└─────┤')

                        print('      │')

                        print('      │')

                    elif r==6:

                        print("It's a SIX")

                        print('┌───── ')

                        print('│      ')

                        print('├─────┐')

                        print('│     │')

                        print('└─────┘')

                    break

                else:

                    print("INVALID RUNS ENTERED")

        elif op==2:

            print(tms[tmbt][1][b1][1],"OUT by",tms[tmbl][1][bp][1])

            tms[tmbt][1][b1][6]=2

            b1=b2

            b2=chsbtmn(tmbt)

            tms[tmbl][1][bp][4]=int(tms[tmbl][1][bp][4])+1

            ot+=1

            if ot==10:

                print("ALL OUT")

                if i==1:

                    print("Team",tsm[tmbl][1],'Won by',cr1-cr2,'Runs')

                break


def flwrt(a,b):

    fa=open(a+'.txt','w')

    for i in range(0,len(b)):

        for j in range(0,len(b[i])):

            if j==len(b[i])-1:

                fa.write(str(b[i][j]))

                fa.write('$')

            else:

                fa.write(str(b[i][j]))

                fa.write('@')

    fa.close()

flwrt(tms[0][0],tms[0][1])

flwrt(tms[1][0],tms[1][1])

def stddev(a):

    fa=open(a+'.txt')

    far=fa.read()

    far=far.split('$')

    for i in range(0,len(far)):

        far[i]=far[i].split('@')

    lba=[]

    lbl=[]

    for i in range(0,len(far)-1):

        if float(far[i][2])==0:

            far[i][2]='1'

        barr=float(far[i][3])/float(far[i][2])

        borr=float(far[i][4])/float(far[i][2])

        lba.append(barr)

        lbl.append(borr)

    brr=max(lba)

    bll=max(lbl)

    return [far[lba.index(brr)],far[lbl.index(bll)]]


tm1=stddev(t1nm)

tm2=stddev(t2nm)


if tm1[0]>=tm2[0]:

    print(t1nm)

    print("STABLE BATTING")

    print('───────────────────────────────────────────────────────────────────────────────')

    print('Tag\t Player Name\t Ball Played\t Score\t Fall Of Wickett\ SRR')

    print(tm1[0][0],'\t',tm1[0][1],'\t',tm1[0][2],'\t',tm1[0][3],'\t',tm1[0][4],'\t',tm1[0][5])

else:

    print(t2nm)

    print("STABLE BATTING")

    print('───────────────────────────────────────────────────────────────────────────────')

    print('Tag\t Player Name\t Ball Played\t Score\t Fall Of Wickett\ SRR')

    print(tm2[0][0],'\t',tm2[0][1],'\t',tm2[0][2],'\t',tm2[0][3],'\t',tm2[0][4],'\t',tm2[0][5])


if tm1[1]>=tm2[1]:

    print(t1nm)

    print("STABLE BOWLING")

    print('───────────────────────────────────────────────────────────────────────────────')

    print('Tag\t Player Name\t Ball Played\t Score\t Fall Of Wickett\ SRR')

    print(tm1[1][0],'\t',tm1[1][1],'\t',tm1[1][2],'\t',tm1[1][3],'\t',tm1[1][4],'\t',tm1[1][5])

else:

    print(t2nm)

    print("STABLE BOWLING")

    print('───────────────────────────────────────────────────────────────────────────────')

    print('Tag\t Player Name\t Ball Played\t Score\t Fall Of Wickett\ SRR')

    print(tm2[1][0],'\t',tm2[1][1],'\t\t',tm2[1][2],'\t',tm2[1][3],'\t',tm2[1][4],'\t',tm2[1][5])

    

def scrcrd(a,b):

    fa=open(a+'.txt')

    far=fa.read()

    far=far.split('$')

    for i in range(0,len(far)):

        far[i]=far[i].split('@')

    fa.close()

    fb=open(b+'.txt')

    fbr=fb.read()

    fbr=fbr.split('$')

    for i in range(0,len(fbr)):

        fbr[i]=fbr[i].split('@')

    fb.close()

    return [far,fbr]


s=scrcrd(t1nm,t2nm)


print('\t\t'+t1nm)

print("│Tag\t Player Name\t Ball Played\t Score\t Fall Of Wicket\tSRR")

for i in range(0,len(s[0])-1):

    print('│',s[0][i][0],'\t',s[0][i][1],'\t',s[0][i][2],'\t\t',s[0][i][3],'\t',s[0][i][4],'\t\t',round(float(s[0][i][5])))

print('\n')

print('\t\t'+t2nm)

print("│Tag\t Player Name\t Ball Played\t\t Score\t Fall Of Wicket\tSRR")

for i in range(0,len(s[1])-1):

    print('│',s[1][i][0],'\t',s[1][i][1],'\t',s[1][i][2],'\t\t',s[1][i][3],'\t',s[1][i][4],'\t\t',round(float(s[1][i][5])))