import sys from sage.all import * def rand_LS(n): m=LatinSquare(n) m[0,0]=randint(0,n-1) for i in range(0,n-1): for j in range(0,n-1): while true: m[i,j]=randint(0,n-1) if (m.is_completable()): break return m

1 | initial version |

import sys from sage.all import * def rand_LS(n): m=LatinSquare(n) m[0,0]=randint(0,n-1) for i in range(0,n-1): for j in range(0,n-1): while true: m[i,j]=randint(0,n-1) if (m.is_completable()): break return m

import sys from sage.all import * def rand_LS(n): m=LatinSquare(n) m[0,0]=randint(0,n-1) for i in range(0,n-1): for j in range(0,n-1): while true: m[i,j]=randint(0,n-1) if (m.is_completable()): break return m

Code:

Code:

```
import sys
from sage.all import *
def rand_LS(n):
m=LatinSquare(n)
m[0,0]=randint(0,n-1)
for i in range(0,n-1):
for j in range(0,n-1):
while true:
m[i,j]=randint(0,n-1)
if (m.is_completable()):
break
return
```~~m~~m

Code:

```
import sys
```~~ ~~from sage.all import *
~~ ~~def rand_LS(n):
~~ ~~ m=LatinSquare(n)
~~ ~~m[0,0]=randint(0,n-1)
~~ ~~ for i in range(0,n-1):
~~ ~~for j in range(0,n-1):
~~ ~~ while true:
~~ ~~m[i,j]=randint(0,n-1)
~~ ~~ if (m.is_completable()):
~~ ~~break
~~ ~~ return m

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.