Showing posts with label sudoku in python. Show all posts
Showing posts with label sudoku in python. Show all posts

Monday, 1 August 2016

28 LINE CODE TO CREATE SUDOKU 6 X 6 in python



 28 LINE CODE TO CREATE SUDOKU 6 X 6

I will call this method as a fake method or wrong method because this code is generated using a wrong way,but it will give you the output.you should have a good chance optimize this code,because it's generated without optimization.i generated this code mainly for the beginners ,i just meant to help them.
so here is the code,just paste it and then run.

CODE


list1=[];list2=[];list3=[];list4=[];list5=[];list6=[];//initialisation of lists
f=1400
import random //include library random
r=random.randrange(1,7,1)  //generate random no b/w 1 and 7
while  f>=0 :
  if r in list1 :
    r=random.randrange(1,7,1)
    f-=1
  else :
    list1.append(r)//append  variable r to list1
    f-=1
    

var1=list1[0];var2=list1[1];var3=list1[2];var4=list1[3];var5=list1[4];var6=list1[5]

list2.append(var6);list2.append(var4);list2.append(var5);list2.append(var3);list2.append(var1);list2.append(var2)//create list 2

list3.append(var5);list3.append(var6);list3.append(var4);list3.append(var2);list3.append(var3);list3.append(var1)//create list 3

list4=list2[:];// create list4  
list6=list1[:] //create list 6

list5.append(var2);list5.append(var3);list5.append(var1);list5.append(var5);list5.append(var6);list5.append(var4)//create list 5

print list1[0:3],"\t",list4[0:3]
print list1[3:6],"\t",list4[3:6]
print"\n"
print list2[0:3],"\t",list5[0:3]
print list2[3:6],"\t",list5[3:6]
print"\n"
print list3[0:3],"\t",list6[0:3]
print list3[3:6],"\t",list6[3:6]
print"\n"

SOME TIPS
//there is no need to create list4 and list6 there are just copies of list1 and list2

IDEA

The basic idea behind this is create a list (here it's list1) and make arrangement on all other lists based on it.when a change is made on  list1 all others get changed accordingly.

this code is generated from the Sudoku given below

5  2  3      6 1 4
1  4  6        3 5 2 


                                         6 1 4          2 3 5
                                          3 5 2          4 6 1

                                          4 6 1          5 2 3
                                           2 3 5          1 4 6

#for any queries comment below



#HAPPY CODING


  

Tuesday, 26 July 2016

SUDOKU USING PYTHON FOR BEGINNERS

    This code is developed for the beginners in python.when compared with other languages python is most flexible.When we  code the  Sudoku we need to be consider three things.

     1.nine 3 X 3 matrices

     2.nine  column

      3.nine rows.

     Sudoku game will contain a total of 81 terms,and the terms should be in the range of 1 to 9 .There is no repetition allowed in the 3 above mentioned areas. The code given below is to generate 
a random Sudoku.it will satisfies the 1 and 3 terms and partially the 2.You need to be edit the code to obtain the 2 term.If you need any help comment below.  


CODE

import random  //include random functionalities
list1=[]              //dynamic declaration of list 'list 1
list2=[]
list3=[]
arg=[]
arga=[]
arg3=[]
arg4=[]
arg5=[]
arg6=[]
arg7=[]
arg8=[]
arg9=[]
c1=[];c2=[];c3=[];c4=[];c5=[];c6=[];c7=[];c8=[];c9=[] //can use semicolon to bind two lines in a single line
r=random.randrange(1,10,1)  //which will generate a random no from 1(first arg) to 9(second arg)
def asad(arg1,arg2) : //function definition
     a=arg1;b=arg2
     r=random.randrange(1,10,1)
     flag=2
     while flag==1 or flag ==2 :
       if r in list1 :
         flag=1
         r=random.randrange(1,10,1)
       else : 
         flag=0
         if b==1 :
           flag3=2
           while flag3==1 or flag3 ==2 :
             if r in c1 :
               flag3=1
               r=random.randrange(1,10,1)
             else : 
              flag3=0
              c1.append(r) // to append  variable 'r' to a list 'c1'
              list1.append(r)
              if a==1 :
                arg.append(r)
              elif a==2 :
                arga.append(r)
              elif a==3 :
                arg3.append(r)
              elif a==4 :
                arg4.append(r)
              elif a==5 :
                arg5.append(r)           
              elif a==6 :
                arg6.append(r)
              elif a==7 :
               arg7.append(r)
              elif a==8 :
               arg8.append(r) 
              elif a==9 :
               arg9.append(r)  

         if b==2 :
           flag3=2
           while flag3==1 or flag3 ==2 :
             if r in c2 :
               flag3=1
               r=random.randrange(1,10,1)
             else : 
              flag3=0
              c2.append(r)
              list1.append(r)
              if a==1 :
                arg.append(r)
              elif a==2 :
                arga.append(r)
              elif a==3 :
                arg3.append(r)
              elif a==4 :
                arg4.append(r)
              elif a==5 :
                arg5.append(r)           
              elif a==6 :
                arg6.append(r)
              elif a==7 :
               arg7.append(r)
              elif a==8 :
               arg8.append(r) 
              elif a==9 :
               arg9.append(r) 
         if b==3 :
           flag3=2
           while flag3==1 or flag3 ==2 :
             if r in c3 :
               flag3=1
               r=random.randrange(1,10,1)
             else : 
              flag3=0
              c3.append(r)
              list1.append(r)
              if a==1 :
                arg.append(r)
              elif a==2 :
                arga.append(r)
              elif a==3 :
                arg3.append(r)
              elif a==4 :
                arg4.append(r)
              elif a==5 :
                arg5.append(r)           
              elif a==6 :
                arg6.append(r)
              elif a==7 :
               arg7.append(r)
              elif a==8 :
               arg8.append(r) 
              elif a==9 :
               arg9.append(r) 
         if b==4 :
           flag3=2
           while flag3==1 or flag3 ==2 :
             if r in c4 :
               flag3=1
               r=random.randrange(1,10,1)
             else : 
              flag3=0
              c4.append(r)
              list1.append(r)
              if a==1 :
                arg.append(r)
              elif a==2 :
                arga.append(r)
              elif a==3 :
                arg3.append(r)
              elif a==4 :
                arg4.append(r)
              elif a==5 :
                arg5.append(r)           
              elif a==6 :
                arg6.append(r)
              elif a==7 :
               arg7.append(r)
              elif a==8 :
               arg8.append(r) 
              elif a==9 :
               arg9.append(r) 
def asad1(arg1,arg2) :
     a=arg1;b=arg2
     r=random.randrange(1,10,1)
     flag=2
     while flag==1 or flag ==2 :
       if r in list2 :
         flag=1
         r=random.randrange(1,10,1)
       else : 
         flag=0
         if a==1 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list2.append(r)
              arg.append(r)
              flag1=0
         elif a==2 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arga :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list2.append(r)
              arga.append(r)
              flag1=0
         elif a==3 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg3 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list2.append(r)
              arg3.append(r)
              flag1=0
         elif a==4 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg4 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list2.append(r)
              arg4.append(r)
              flag1=0
         elif a==5 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg5 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list2.append(r)
              arg5.append(r)
              flag1=0
         elif a==6 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg6 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list2.append(r)
              arg6.append(r)
              flag1=0
         elif a==7 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg7 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list2.append(r)
              arg7.append(r)
              flag1=0
         elif a==8 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg8 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list2.append(r)
              arg8.append(r)
              flag1=0
         elif a==9 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg9 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list2.append(r)
              arg9.append(r)
              flag1=0


def asad2(arg1,arg2) :
     r=random.randrange(1,10,1)
     a=arg1
     flag=2
     while flag==1 or flag ==2 :
       if r in list3 :
         flag=1
         r=random.randrange(1,10,1)
       else : 
         flag=0
         if a==1 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list3.append(r)
              arg.append(r)
              flag1=0
         elif a==2 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arga :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list3.append(r)
              arga.append(r)
              flag1=0
         elif a==3 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg3 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list3.append(r)
              arg3.append(r)
              flag1=0
         elif a==4 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg4 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list3.append(r)
              arg4.append(r)
              flag1=0
         elif a==5 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg5 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list3.append(r)
              arg5.append(r)
              flag1=0
         elif a==6 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg6 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list3.append(r)
              arg6.append(r)
              flag1=0
         elif a==7 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg7 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list3.append(r)
              arg7.append(r)
              flag1=0
         elif a==8 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg8 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list3.append(r)
              arg8.append(r)
              flag1=0
         elif a==9 :
           flag1=2
           while flag1==1 or flag1 ==2 :
            if r in arg9 :
              flag1=1
              r=random.randrange(1,10,1)
            else :
              list3.append(r)
              arg9.append(r)
              flag1=0
i=1;j=1
for i in range(1,4) :
  for j in range(1,4) :
    asad(i,j)
for i in range(1,4) :
  for j in range(4,7) :
   asad1(i,j)
for i in range(1,4) :
  for j in range(7,10) :
    asad2(i,j)
print list1[0:3],"\t",list2[0:3],"\t",list3[0:3]
print list1[3:6],"\t",list2[3:6],"\t",list3[3:6]
print list1[6:9],"\t",list2[6:9],"\t",list3[6:9]
print "\n"
del list1[:] 
del list2[:] 
del list3[:]       
for i in range(4,7) :
  for j in range(1,4) :
    asad(i,j)
for i in range(4,7) :
  for j in range(4,7) :
     asad1(i,j)
for i in range(4,7) :
  for j in range(7,10) :
    asad2(i,j)
print list1[0:3],"\t",list2[0:3],"\t",list3[0:3]
print list1[3:6],"\t",list2[3:6],"\t",list3[3:6]
print list1[6:9],"\t",list2[6:9],"\t",list3[6:9]
print "\n"

del list1[:] 
del list2[:] 
del list3[:]           
for i in range(7,10) :
  for j in range(1,4) :
    asad(i,j)
for i in range(7,10) :
  for j in range(4,7) :
    asad1(i,j)
for i in range(7,10) :
  for j in range(7,10) :
    asad2(i,j)
print list1[0:3],"\t",list2[0:3],"\t",list3[0:3]
print list1[3:6],"\t",list2[3:6],"\t",list3[3:6]
print list1[6:9],"\t",list2[6:9],"\t",list3[6:9]
print "\n"


In Linux save the code with an extension .py .can run with the following syntax python program name.py




                                   HAPPY CODING





     

  

How to Invert an SVG image using CSS ?

You can invert your svg easily by using following css code svg { -webkit-filter: invert(100%); /* safari 6.0 - 9.0 */ filter...