Housie/Tambola using Python with Tickets in PDF file

 #HOUSIE IN PYTHON! 









 #if you have'nt installed fpdf from cmd  then do open cmd>type #pip install fpdf >enter 

from random import *

from fpdf import FPDF


def ImportantOne(x): 

    xxx=False 

    while xxx!=True: 

        tkt=[] 

        for i in range(3): 

            lis=[] 

            u=10 

            l=1 

            for j in range(9):  

                no=randint(l,u)  

                lis.append(no)  

                u+=10  

                l+=10  

            tkt.append(lis) 

        for i in range(1): 

            u=11  

            l=1 

            for j in range(9): 

                li=sample(range(l,u),3) 

                zx=0 

                tkt[i][j]=li[zx] 

                zx+=1 

                tkt[i+1][j]=li[zx] 

                zx+=1 

                tkt[i+2][j]=li[zx] 

                u+=10  

                l+=10 

             

        for i in range(1): 

            for j in range(9): 

                if tkt[i][j]>tkt[i+1][j]: 

                    tkt[i][j],tkt[i+1][j]=tkt[i+1][j],tkt[i][j] 

                if tkt[i][j]>tkt[i+2][j]: 

                    tkt[i][j],tkt[i+2][j]=tkt[i+2][j],tkt[i][j] 

                if tkt[i+1][j]>tkt[i+2][j]: 

                    tkt[i+1][j],tkt[i+2][j]=tkt[i+2][j],tkt[i+1][j] 

 

        for i in range(3): 

            li=sample(range(0,9),4) 

            sf=0 

            for j in range(9): 

                while sf!=4: 

                    rg=li[sf] 

                    tkt[i][rg]="    " 

                    sf+=1 

        flag=0 

        for j in range(9): 

            if tkt[0][j]=="    " and tkt[1][j]=="    " and tkt[0][j]=="    ": 

                flag+=1 

        if flag==0: 

            x+=1 

           # print("======================================================") 

            dd=str(x) 

            ff="Ticket No."+dd 

            #print("                    Ticket No:",x) 

            #print("======================================================") 

            fout.write("=================================================================") 

            fout.write("\n") 

            

            fout.write(ff) 

            fout.write("\n") 

            fout.write("=================================================================") 

            fout.write("\n") 

             

            for i in range(3): 

                for j in range(9): 

                    x=str(tkt[i][j]) 

                    fs="{0:>3}".format(x) 

                    jjh=" | " +fs

                    fout.write(jjh) 

             #       print(fs,end=" | ")  

              #  print("\n") 

                fout.write("\n")

            fout.write("\n\n")

            xxx=True 

            

         

         

def GeneratingNumbers(): 

    no=[] 

    no=sample(range(1,91),90) 

    x=len(no) 

    s=0 

    for i in range(x): 

        if i%10!=0: 

            print(no[i],end=" | ") 

        else: 

            print("\n") 

        #input() 

 

#GeneratingTicket() 

n=int(input("Enter No. of Tickets You want : "))

name=input('Enter Filename (without extension:')

nname=name+'.txt'

fout=open(nname,'w') 

for i in range(n): 

    ImportantOne(i) 

fout.close() 


pdf = FPDF()   

pdf.add_page()

pdf.set_font('Courier', size = 16)

fout=open(nname, "r")

for i in fout:

    pdf.cell(200, 10, txt = i, ln = 1, align = 'L')

nname=name+'.pdf'


pdf.output(nname)


print('Your PDF file with {} tickets have been generated.'.format(n))









Comments