Exercício com números randômicos - randint
Publicado por Marcelo Theodoro (última atualização em 29/06/2015)
[ Hits: 3.969 ]
Homepage: None
O script abaixo gera uma lista de números sequencial. A quantidade desses números é setada na variável MAX. Por exemplo, se você colocar o número 10, em MAX, a lista gerada será: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].
A partir da lista gerada, ele começa a gerar randomicamente números entre 1 e MAX(no caso, 10). Se o número gerado for igual ao primeiro item da lista (no caso, 1), ele remove o primeiro item. Nesse caso, a lista ficaria como:
[2, 3, 4, 5, 6, 7, 8, 9, 10]
E repete o processo até que não tenha mais nenhum item na lista.
Ao final, ele exibe quantas tentativas foram necessárias para gerar sequencialmente os itens da lista.
Com MAX igual a 10, nos meus testes, já aconteceu de serem necessárias desde 900.000.000 tentativas, até 11.000.000.000. Com números menores, como 5, costuma ir bem mais rápido.
Enfim... só uma brincadeira, nada verdadeiramente útil.
#!/usr/bin/python #coding: utf-8 # Marcelo Theodoro, marcelotheodoro@outlook.com from random import randint MAX = 5 # tamanho da lista. ex, 5: [1, 2, 3, 4, 5] lista = range(1, MAX+1) # Cria primeiro número randomico tentativas = 0 while lista: # Enquanto houver um número da lista tentativas += 1 # Soma + 1 a variável tentativas numero = randint(1, MAX) # Gera o número randomico if numero == lista[0]: # Se o número randomico da vez for igual ao primeiro item da lista lista.remove(lista[0]) # Remove se o número randomico for o primeiro da lista else: lista = range(1, MAX+1) # Se não for o primeiro da lista, a lista volta a forma original print 'O número de tentativas necessárias foi: {0}'.format(tentativas)
Gerador de números para Mega-Sena
ISOsync_pt-BR.py - Um Baixador Automático de ISOs de Sabayon, escrito em Python
Versão das principais distribuições.
Mudar wallpaper por um aleatorio
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (1)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 (4)
estou com problemas aqui no manjaro. (3)
warsaw parou de funcionar após atualização do sistema (solução) (7)