associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "WxGridTesteDict"

Diferenças entre as versões de 2 e 3
Revisão 2e 2006-01-18 00:12:39
Tamanho: 1877
Editor: FabioCorrea
Comentário: Refactoring Wiki - eliminando pragma
Revisão 3e 2008-09-26 14:07:20
Tamanho: 1877
Editor: localhost
Comentário: converted to 1.6 markup
Nenhuma diferença encontrada!

Teste de dicionário (WxGrid)

Código

   1 import random
   2 
   3 def gera_str():
   4     tamanho = random.randint(3, 8)
   5     texto = ''
   6     for i in range(tamanho):
   7         texto += chr(random.randint(97, 122))
   8     return texto
   9 
  10 def gera_str2():
  11     p1 = random.randint(1000, 9999)
  12     p2 = random.randint(1000, 9999)
  13     s = "%s-%s" % (p1, p2)
  14     return s
  15 
  16 def gera_str3():
  17     p1 = random.randint(100, 999)
  18     p2 = random.randint(100, 999)
  19     p3 = random.randint(100, 999)
  20     p4 = random.randint(10, 99)
  21     s = "%s.%s.%s-%s" % (p1, p2, p3, p4)
  22     return s
  23 
  24 class T:
  25     def __init__(self, **d):
  26         self.__dict__ = d
  27 
  28 print "Dois objetos com os mesmos atributos (criados na mesma ordem)"
  29 t1 = T(nome='Teste', telefone='1234-5678')
  30 t2 = T(nome='Teste2', telefone='5678-1234')
  31 print t1.__dict__
  32 print t2.__dict__
  33 print
  34 
  35 print "Dois objetos com os mesmos atributos (criados em ordem diferente)"
  36 t1 = T(cpf='012.345.678-90', nome='Teste', telefone='1234-5678')
  37 t2 = T(nome='Teste2', telefone='5678-1234', cpf='111.222.333-44')
  38 print t1.__dict__
  39 print t2.__dict__
  40 print
  41 
  42 print "Lista com 100 objetos: ora o nome está na frente, ora o cpf é que está (na construção do objeto)"
  43 lista = []
  44 for i in range(50):
  45     lista.append(T(nome=gera_str(), telefone=gera_str2(), cpf=gera_str3()))
  46     lista.append(T(cpf=gera_str3(), telefone=gera_str2(), nome=gera_str()))
  47 for i in lista:
  48     print i.__dict__
  49 print
  50 
  51 print "Lista com 50 objetos: atributos criados na mesma ordem, porém existe um atributo dinâmico"
  52 lista = []
  53 for i in range(50):
  54     codigo = 'lista.append(T(nome=gera_str(), telefone=gera_str2(), cpf=gera_str3(), %s=%i))' % (gera_str(), random.randint(0, 10))
  55     exec codigo
  56 for i in lista:
  57     print i.__dict__
  58 print

Volta para WxGrid.


WashingtonCoutinhoCorrêaJr