loop infinito no python [RESOLVIDO]

1. loop infinito no python [RESOLVIDO]

Douglas Giorgio Fim
douglas.giorgio

(usa Fedora)

Enviado em 27/01/2010 - 14:57h

estou com problema com um loop infinito

==============================================

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pdb

letra = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
LETRA = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
numero = [0,1,2,3,4,5,6,7,8,9]
espaco = ' '
letra2 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']


for cont in range(25):
while (letra[cont] != letra[25]):
for contagem in range(26):
for palavra in letra[cont]:
for resultado in range(26):
letra2[resultado]=palavra + letra[resultado]
print letra2[resultado]

======================================================

eu quero fazer todas as combinações possiveis de 'a' a 'z'

eu sei que tem muita coisa p fazer

pretendo fazer algo como

python teste.py 2

ai aparece todas as combinações de ateh 2 caracteres

de python teste.py 3 - para ateh 3 caracteres

e por ai vai, o mais dificil que estou passando eh a linha 16 17 e 18 ficam num loop infinito


  


2. Re: loop infinito no python [RESOLVIDO]

Douglas Giorgio Fim
douglas.giorgio

(usa Fedora)

Enviado em 27/01/2010 - 18:50h

agr está fazendo muitas combinações, mas nao está fazendo todas e o loop ainda nao está parando

=======================================================

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pdb
import sys

repeticao=int(sys.argv[1])
letra = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
letra2 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
letra3 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
contador = int(0)

while (contador != repeticao):
for num in range(25):
print letra2[num]
for num2 in range(25):
letra3[num2]=letra2[num]+letra[num2]
print letra3[num2]
letra2[num]=letra3[num]
contador = int(contador+1)

========================================================

alguem poderia me dizer pq o loop nao está parando?? ai ja vai ser um grande passo, depois eh soh arrumar a forma de combinações possiveis


3. Re: loop infinito no python [RESOLVIDO]

Alex Fernando Ferreira
staltux

(usa Slackware)

Enviado em 04/02/2010 - 16:15h

pode ser a identação...eu identei aqui e funcionou...pena que o vol come a identação...ve se da pra entender:

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import pdb
import sys

repeticao=int(sys.argv[1])
letra = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
letra2 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
letra3 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
contador = int(0)

while ( contador != repeticao):
_for num in range(25):
__print letra2[num]
___for num2 in range(25):
____letra3[num2]=letra2[num]+letra[num2]
____print letra3[num2]
_letra2[num]=letra3[num]
_contador = int(contador+1)

troque os "_" por espaços...atenção na quantidade de espaços ou vai dar loop infinito

editado:
cara da pra fazer isso com apenas um vetor,não precisa do letra2 e letra3


4. Re: loop infinito no python [RESOLVIDO]

Alex Fernando Ferreira
staltux

(usa Slackware)

Enviado em 04/02/2010 - 17:18h

velho fiz uma modificacao do seu e fico assim:

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import pdb
import sys

repeticao=int(sys.argv[1])
letra = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']

def exibe(cont,l):
__if cont == 0:
____for num in range(26):
______print l+letra[num]
__else:
____for num in range(26):
______d = letra[num]

______exibe(cont-1,l+d)

exibe(repeticao-1,"")






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts