# ==============================================================================
"""LATIN : generate a random latin square"""
# ==============================================================================
__author__  = "Christophe Schlick"
__version__ = "0.0" # skeleton version
__date__    = "2015-09-01"
__usage__   = """
User input : <n> (where n:int > 0)
App output: random latin square of size n"""
# ==============================================================================
from ezCLI import *
from random import randrange
# ------------------------------------------------------------------------------
def latin(n):
  """generate a matrix containing a random 'n' by 'n' latin square"""
  mat = [[0 for q in range(n)] for p in range(n)]
  # TODO
  return mat
# ------------------------------------------------------------------------------
def parser(command):
  """parse 'command' as integer 'n' before calling 'latin(n)'"""
  n = convert(command)
  assert type(n) is int and n > 0, "<n> must be a strictly positive integer"
  return grid(latin(n), size=3)
# ------------------------------------------------------------------------------
if __name__ == "__main__":
  userloop(parser, "Enter value for <n>")
# ==============================================================================
