Pesquisar no Python Iniciantes

terça-feira, 7 de agosto de 2012

Dicas #9 ( Módulo Random )

Boa noite galera!

Hoje venho ensinar a vocês como utilizar o módulo random para sorteio de números e strings, irei criar um programa simples que irá pedir para o usuário digitar algo(números ou strings) e iremos sortear um dos elementos digitados pelo usuário usando a função random.choice.

Vamos ao código após a explicação:

# -*- coding: latin-1 -*- import random elemento1 = input('Digite o primeiro elemento: ') elemento2 = input('Digite o segundo elemento: ') elemento3 = input('Digite o terceiro elemento: ') lista = [elemento1, elemento2, elemento3] sorteio = random.choice(lista) print('O elemento sorteado foi:', sorteio)
Como vemos a primeira coisa a fazer é importar o módulo random da biblioteca padrão do python, após criamos três variáveis para armazenarmos os elementos digitados pelo usuário, logo em seguida "guardamos" essas variáveis com seus respectivos valores em uma lista para, na próxima linha sortearmos um dos elementos da lista usando a função choice do módulo random (random.choice), como podem ver a função choice recebe como parâmetro a lista com os elementos digitados e sorteia um elemento, mas para podermos mostrar esse elemento sorteado eu guardamos esse elemento em uma variável sorteio e na última linha "printamos" essa variável com uma pequena formatação.

É isso pessoal, gostaram? se tiverem dúvidas postem aqui ou mandem email, até a próxima.

33 comentários:

  1. Nuss, pra mim que to aprendendo agora...foi uma mão na roda...abç e obg

    ResponderExcluir
  2. Amigo gostaria de saber como faco um sorteio aleatorio sem que repita um numero ou string?

    ResponderExcluir
    Respostas
    1. Boa noite usa random.sample, saira uma ordem alaratoria dos 4 banhistas em questão:

      import random
      n1 = input('Indique o nome do primeiro banhista: ')
      n2 = input('Indique nome do segundo banhista: ')
      n3 = input('Indique nome do terceiro banhista: ')
      n4 = input('Indique nome do quarto banhista: ')
      a1 = [n1, n2, n3, n4]
      sorteio = random.sample(a1, k=4)
      print('A Ordem das pessoas que vao tomar banho:',sorteio)

      Excluir
    2. muito obrigada por compartilhar seu conhecimento incrível!

      Excluir
  3. Porra, do caralho!!! Muito boa a explicação!

    ResponderExcluir
  4. import random

    num = int(input('Quantos numeros você quer combinar: '))
    i = 1
    numeros = []

    while i <= num:
    numeros.append(input('Numero %i: ' % i))
    i += 1

    print('Numeros selecionados: ', (numeros))

    sorteios = random.sample(range(numeros), 15)
    print('Numeros para marcar no cartão: ',(sorteio))
    print('Pares: ',(sorteio))
    print('Impares: ',(sorteio))

    ajudem a achar o erro! obrigado

    ResponderExcluir
    Respostas
    1. Você está colocando virgulas depois de fechar as aspas, retire-as e o programa rodará normalmente.

      Excluir
    2. no print voce tem que deixar declarar o .formart(var) ou f('Descrição{var}').

      print('Numeros selecionados: ', (numeros))

      sorteios = random.sample(range(numeros), 15)
      print('Numeros para marcar no cartão: '.formart(sorteio))
      print('Pares: '.formart(sorteio))
      print('Impares: '.formart(sorteio))

      Ou

      print('Numeros selecionados: ', (numeros))

      sorteios = random.sample(range(numeros), 15)
      print(f'Numeros para marcar no cartão:{sorteio}')
      print(f'Pares:{sorteio}')
      print(f'Impares:{sorteio} ')

      Excluir
  5. tem como fazer um sorteio com laços de repetição ??? caso de vida ou morte kkk

    ResponderExcluir
  6. algoritmo simples e funcional , show!

    ResponderExcluir
  7. me ajudou de maiiiiiiiiiiiiiiiiiiiisssssssssssssssss passei a noite testando varios random so consegui agora . obrigado por este post

    ResponderExcluir
  8. Muito bom, eu tava precisando e ajudou muito

    ResponderExcluir
  9. Excelente, obrigado!
    Estou aprendendo o módulo Random e foi a melhor explicação!

    ResponderExcluir
  10. from random import choice
    n = str(input('Primeiro aluno: '))
    n1 = str(input('Segundo aluno: '))
    n2 = str(input('Terceiro aluno: '))
    n3 = str(input('Quarto aluno: '))
    lista = [n, n1, n2, n3,]
    esc = choice(lista)
    print('O aluno escolhido foi {}'.format(esc))
    Um exemplo de como usar.

    ResponderExcluir
  11. Olá gostei da explicação mas fiquei intrigado a descobrir mais, eu queria saber como fazer um programa parecido mas ao invés de sortear um número ou str, sorteasse dois ou mais

    ResponderExcluir
  12. Tem como eu escolher quantos alunos podem ir, sem ser necessariamente quatro?

    ResponderExcluir
    Respostas
    1. tem sim, é só colocar k=n, sendo n o número de alunos que você quer

      Excluir
  13. Fica sorteando somente o elemento 1

    (Sou iniciante em Python)

    ResponderExcluir
  14. muito obrigado!! vc ajudou muito mesmo

    ResponderExcluir
  15. Muito obrigada, você ajudou muito!!

    ResponderExcluir