Ir para conteúdo
Fórum Script Brasil
  • 0

Programinha para gerar numeros com 5 digitos


Radicalzinho

Pergunta

estou tentando criar um programinha que gere todas as combinações de números possíveis com 5 dígitos, e tentei fazer com que numeros que não tenham 5 digitos fiquem dessa forma:

00015

01586

00259

mas o programa continua imprimindo os números sem os zeros na frente, alguém poderia me ajudar?

Codigo:

possibilidades = 99999
gerar = 0
num = "0"
while gerar != possibilidades:
    if len(num) == 1:
        num = "0000"+num
        num = int(num)
    elif len(num) == 2:
        num = "000" + num
        num = int(num)
    elif len(num) == 3:
        num = "00" + num
        num = int(num)
    elif len(num) == 4:
        num = "0" + num
        num = int(num)
    else:
        continue
    print num
    num += 1
    num = str(num)
    gerar += 1
print "acabou"

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

O problema esta no fato de você usar a função print() quando a variavel num é um inteiro; você também deve ter notado que o programa nunca termina, devido a condição no loop while que nunca será alcançada.Abaixo esta uma forma mais simples de fazer o que você quer, eu fiz uso da função string.zfill() que preenche uma string numérica com zeros a esquerda, o que simplifica o codigo.

i = 0
while i < 100000:
    print(str(i).zfill(5))
    i += 1
print("acabou")

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado, me ajudou bastante :D, mas agora estou tentando criar um arquivo log.txt com todos os valores que passaram pela variável "I"

tentei assim:

#Gerador de todos os numeros possiveis com 5 digitos
i = 0
while i < 100000:
    print(str(i).zfill(5)) #o comando zfill() adiciona zeros a esqueda de uma string numerica
    i += 1
print("acabou")
arq = open("log.txt", "w")
arq.write(i)
arq.close()

alguém poderia me apontar o erro? já que não consegui achar explicações detalhadas de como criar um arquivo .txt com python

Editado por Radicalzinho
Link para o comentário
Compartilhar em outros sites

  • 0

Para criar um arquivo você procedeu da maneira correta.Porém existem dois erros no seu programa :

1. Você deve passar uma string para a função write() e não um inteiro.

2. Você colocou a função write() fora do loop while.

Abaixo esta o código correto:

#Gerador de todos os numeros possiveis com 5 digitos
arq = open("log.txt", "w")
i = 0
while i < 100000:
    print(str(i).zfill(5)) #o comando zfill() adiciona zeros a esqueda de uma string numerica
    arq.write(str(i).zfill(5) + "\n")
    i += 1
arq.close()
print("acabou")

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...