Pular para o conteúdo

Exercício com números randômicos - randint

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.
Marcelo Theodoro MarceloTheodoro
Hits: 4.299 Categoria: Python Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
Download listarand.py Enviar nova versão

Esconder código-fonte

#!/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)

Correios - Rastreador de encomendas

Conversor 2

Busca!!!

Gerador de páginas .html

Mighty Are's Tool of Easily Promote Combats

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.