Geração de Números Aleatórios e módulo Random em Python

Geração de Números Aleatórios e o módulo Random em Python

A geração de números aleatórios é uma técnica importante na programação para criar simulações, jogos e outras aplicações que exigem variabilidade. Em Python, podemos gerar números aleatórios usando o módulo random.

Existem dois tipos de funções de geração de números aleatórios: funções que geram números inteiros aleatórios e funções que geram números de ponto flutuante aleatórios.

Módulo random em Python

O módulo random é um módulo Python que contém funções para gerar números aleatórios. Para usar as funções do módulo random, precisamos importá-lo primeiro usando a instrução import.

Aqui estão algumas funções aleatórias comuns do módulo random:

  • random() – retorna um número de ponto flutuante aleatório entre 0 e 1.
  • randint(a, b) – retorna um número inteiro aleatório entre a e b, inclusive.
  • uniform(a, b) – retorna um número de ponto flutuante aleatório entre a e b.
  • choice(seq) – retorna um elemento aleatório da sequência seq.
  • shuffle(seq) – embaralha aleatoriamente a sequência seq.
  • sample(seq, k) – retorna uma lista de k elementos aleatórios da sequência seq.

Sintaxe:

import random
var = random.randint([min,max])

Onde min e max são números inteiros opcionais com a faixa de valores a ser usada.

Vejamos exemplos de como usar o módulo random:

import random
# Gerar um número aleatório entre 0 e 1
print(random.random()) # Saída: 0.345894523
# Gerar um número inteiro aleatório entre 1 e 10
print(random.randint(1, 10)) # Saída: 7
# Gerar um número de ponto flutuante aleatório entre 0 e 1
print(random.uniform(0, 1)) # Saída: 0.8762541
# Escolher um elemento aleatório de uma lista
lista = ['maçã', 'banana', 'laranja', 'manga']
print(random.choice(lista)) # Saída: 'laranja'
# Embaralhar uma lista aleatoriamente
random.shuffle(lista)
print(lista) # Saída: ['manga', 'maçã', 'laranja', 'banana']
# Selecionar aleatoriamente 2 elementos de uma lista
amostra = random.sample(lista, 2)
print(amostra) # Saída: ['laranja', 'banana']

Neste exemplo, importamos o módulo random e usamos as funções random(), randint(), uniform(), choice(), shuffle() e sample() para gerar números aleatórios ou elementos aleatórios de uma lista. Note que a função randint() gera números inteiros aleatórios entre a e b inclusive.

Exercício: Jogo de Adivinhação

Crie um programa que gere um número aleatório entre 1 e 20, e que peça para o usuário adivinhar o número gerado.
Se a tentativa do usuário não for correta, o programa deve informar se ele tentou um valor baixo ou alto, comparando com o valor gerado. Se o usuário acertar, exibir a msg ‘Parabéns, você acertou!”.

O programa deve permitir até 3 tentativas.

Código sugerido para a resolução

import random
print('Bem-vindo ao jogo de adivinhação!')
print('Você terá três chances para adivinhar um número aleatório, entre 1 e 20')
num = random.randint(1,20)
for i in range(3):
    print('\nQual a sua escolha?')
    chute = int(input())
    if chute == num:
        print('\nParabéns, você acertou!')
        break
    elif chute > num:
        print('Número alto.')
    else:
        print('Número baixo.')
if chute != num:
    print('\nO número secreto era o {}'.format(num))

É isso aí! Neste tutorial vimos com gerar números aleatórios em Python usando o módulo builtin random.

Sobre Fábio dos Reis (1197 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*