Exercício com números randômicos - randint
Publicado por Marcelo Theodoro (última atualização em 29/06/2015)
[ Hits: 4.199 ]
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)
Versão das principais distribuições.
Nenhum comentário foi encontrado.
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









