Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Created on 13/11/2012
- @author: phiron
- '''
- from random import choice
- from datetime import datetime
- from io import StringIO
- class Jogo:
- '''
- classe que instancia e cria um novo jogo
- '''
- def __init__(self, dezenas = 6, qtd_escolhas = 60, quantidade = 1):
- '''
- Construtor da classe, inicia o jogo com as dezenas em lista,
- quantidade de escolhas, que e a quantidade possivel de dezenas
- e a quantidade de jogos a se realizar
- '''
- self.dezenas = int(dezenas)
- self.qtd_escolhas = int(qtd_escolhas)
- self.quantidade = int(quantidade)
- self.jogos = self.get_jogos()
- def __lista_em_string__(self, lista):
- '''
- pega uma lista e a transforma em lista de strings...
- '''
- ls = []
- for item in lista:
- ls.append(str(item))
- return ls
- def __gerarJogo__(self):
- '''
- gera um jogo e retorna
- '''
- ls = [x + 1 for x in range(self.qtd_escolhas)]
- jg = []
- for i in range(self.dezenas):
- x = choice(ls)
- jg.append(x)
- ls.remove(x)
- return sorted(jg)
- def get_jogos(self):
- '''
- gera todos os jogos solicitados
- e retorna uma lista com listas de jogos...
- '''
- jogos = []
- i = self.quantidade
- while i > 0:
- jg = self.__gerarJogo__()
- if jg not in jogos:
- jogos.append(jg)
- i = i - 1
- return jogos
- def get_texto(self, diretorio, tipo_jogo = None):
- '''
- retorna o jogo em forma de arquivo...
- '''
- jogos = self.jogos
- texto = StringIO()
- agora = datetime.now()
- cabecalho = "Jogo criado em {0}/{1}/{2} às {3}:{4}hs\n\n".format(agora.day, agora.month, agora.year,
- agora.hour, agora.minute)
- texto.write('%s' % cabecalho)
- for jogo in jogos:
- texto.write(" - ".join(self.__lista_em_string__(jogo)))#crio uma string no formato:"1 - 2 - 3 - 4 - 10 ..." e insiro na variável texto
- texto.write("\n")#dou uma quebra de linha no texto
- file = open(diretorio, 'w')#crio ou gravo o arquivo no diretório dado...
- file.write(texto.getvalue())
- texto.close()
- file.close()
- return None
- def retornaHtml(self, tipo_jogo = ""):
- '''
- gera uma string em formato html dos jogos...
- '''
- jogo = self.jogos
- pagina = StringIO()
- pagina.write('<!DOCTYPE html>\
- <html>\
- <head>\
- <meta charset="utf-8" />\
- <title>Jogo gerado</title>\
- <style>\
- table.bordasimples {border-collapse: collapse;}\
- table.bordasimples tr td {border:1px solid black;}\
- table.bordasimples thead th {border:1px solid black;\
- font: bold;\
- vertical-align: left;}\
- </style>\
- </head>\
- <body>')
- colunas = len(self.jogos[0])
- agora = datetime.now()
- pagina.write('<p>\
- <table class="bordasimples">\
- <thead>\
- <tr>\
- <th colspan="{colunas}" ><strong>Jogo:{tipo_jogo} </strong></th>\
- </tr>\
- <tr>\
- <th colspan="{colunas}"><strong>Gerado no dia: {dia}/{mes}/{ano} dezenas abaixo:</strong></th>\
- </tr> '.format(colunas = colunas, tipo_jogo = tipo_jogo, dia = agora.day, mes = agora.month, ano = agora.year))
- pagina.write('<tr>')#escrevendo o cabeçalhos das dezenas...
- for i in range(colunas):
- pagina.write("<td>{0}</td>".format(i + 1))
- else:
- pagina.write("</tr></thead>\
- <tbody>")
- for jg in jogo:
- pagina.write('<tr>')
- for dezena in jg:
- pagina.write("<td>{0}</td>".format(dezena))
- else:
- pagina.write("</tr>")
- else:
- pagina.write('</tbody></p></body></html>')
- return pagina.getvalue()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement