Exercício com números randômicos - randint
Publicado por Marcelo Theodoro (última atualização em 29/06/2015)
[ Hits: 3.668 ]
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)
Calcula a idade da pessoa em dias
Gerador de números para Mega-Sena
Programa para derivação de funções matemáticas polinomiais
Tkinter - Sistema de Cadastro de Cursos, Alunos e Turmas
Nenhum comentário foi encontrado.
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando Zoom Client no Ubuntu 24.04 LTS
Instalando Zoom Client no Fedora 40
Instalando Navegador Firefox no Debian 12
Bloqueando propagandas no Youtube e outros sites com o uBlocker Origin
script para gerar arquivo .AppImage (4)
Como substituir pacotes do sistema Linux Mint 21.3 (2)
Dificuldade em ler binário (9)