Exercício com números randômicos - randint
Publicado por Marcelo Theodoro (última atualização em 29/06/2015)
[ Hits: 3.642 ]
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)
Jogo de adivinhar o número aleatório
Procura músicas em diretório local
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Problema Envio email GLPI Versao 10.0.15 (0)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (25)
Impressora Canon Ip 1800 (Drivers) 64 bit (1)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba