A função randint() em Python é uma opção simples e rápida para se gerar números inteiros ale­a­tó­rios dentro de um intervalo es­pe­ci­fi­cado. Ela pode ser útil em diversas apli­ca­ções, como em jogos, testes, si­mu­la­ções e outras situações que pedem pela geração de números ale­a­tó­rios de forma con­tro­lada.

Quando utilizar a função randint em Python?

A função randint() faz parte do módulo random de Python. Ela serve para gerar números inteiros aleatório dentro de um intervalo. Di­fe­ren­te­mente de funções se­me­lhan­tes de outras lin­gua­gens de pro­gra­ma­ção, randint() é capaz de de­ter­mi­nar o último número do intervalo es­pe­ci­fi­cado. Isso quer dizer que tanto o valor inicial quanto o valor final desse intervalo sempre estarão entre os re­sul­ta­dos possíveis. Na maioria das vezes, funções randint() são aplicadas a códigos que devem se basear em valores randô­mi­cos.

Como al­ter­na­ti­vas a randint(), o módulo random dis­po­ni­bi­liza outras funções capazes de gerar números ale­a­tó­rios, cada uma a seu modo. Por exemplo, random.randrange(start, stop[, step]), similar à função randint(), di­fe­ren­cia-se desta por adicionar um passo opcional à sequência de números. Outro exemplo: a função random.randint() gera apenas números inteiros, já a função random.uniform(a, b) retorna um número de vírgula flutuante aleatório, dentro do intervalo indicado. Existe, ainda, o pacote numpy, que oferece funções mais so­fis­ti­ca­das para a geração de números ale­a­tó­rios. Estas servem, prin­ci­pal­mente, a matrizes e operações ma­te­má­ti­cas complexas.

Sintaxe da função randint

A estrutura da função randint(), do módulo random de Python, é re­la­ti­va­mente simples e exige somente dois pa­râ­me­tros: o valor inicial e o valor final do intervalo no qual a geração do número aleatório deve ocorrer.

import random
random_number = random.randint(start, end)
python
  • import random: Importa o módulo random, que contém a função randint(). Essa instrução é essencial para a aplicação da função randint().
  • random_number: Variável que armazena o resultado da função randint(). Essa variável exibe o número inteiro aleatório gerado.
  • start: Trata-se do valor inicial do intervalo em que será gerado o número aleatório — esse valor será incluído entre os re­sul­ta­dos possíveis.
  • end: Valor final do intervalo em que será gerado o número aleatório — esse valor também estará incluído nos re­sul­ta­dos possíveis.

Ela­bo­ra­mos, abaixo, um código que apresenta um exemplo de aplicação da função randint():

import random
random_number = random.randint(1, 100)
print(random_number)
python

Esse exemplo comanda a geração de um número inteiro aleatório entre 1 e 100. O intervalo deve abranger os valores-limite (start e end) es­pe­ci­fi­ca­dos, ou seja, os números 1 e 100 também devem ser incluídos entre os valores possíveis.

Apli­ca­ções e usos da função randint

Você pode utilizar a função randint() em Python de forma flexível, para a geração de números ale­a­tó­rios pela sua aplicação. No entanto, para que a função possa ser aplicada cor­re­ta­mente, você precisará se cer­ti­fi­car de que o seu código esteja limpo e correto, o que evitará a ocor­rên­cia de mensagens de erro.

So­li­ci­ta­ções múltiplas de randint

Chamando a função randint() múltiplas vezes, você será capaz de gerar vários números inteiros ale­a­tó­rios em di­fe­ren­tes partes do seu código. Cada chamada de randint() gerará um novo número adequado aos pa­râ­me­tros es­pe­ci­fi­ca­dos. Observe:

import random
# Generate three different random integers between 1 and 10
random_number1 = random.randint(1, 10)
random_number2 = random.randint(1, 10)
random_number3 = random.randint(1, 10)
# Print the generated random integers
print("Random integer 1:", random_number1)
print("Random integer 2:", random_number2)
print("Random integer 3:", random_number3)
python

No exemplo de código acima, chamamos a função randint() três vezes, em momentos distintos, para gerar três números ale­a­tó­rios di­fe­ren­tes, entre 1 e 10. Cada variável random_numberX armazena o res­pec­tivo resultado de uma chamada de randint(), valor que pode ser exibido ou reu­ti­li­zado, conforme as ne­ces­si­da­des da aplicação.

Va­lu­e­Er­ror na função randint

Durante a aplicação da função randint(), um Va­lu­e­Er­ror pode vir a ocorrer. Ele é exibido quando ar­gu­men­tos (pa­râ­me­tros) não cor­res­pon­dem ao que é suportado, por exemplo, se o valor inicial for maior que o valor final, ou se algum dos ar­gu­men­tos não se tratar de um número inteiro. Jus­ta­mente por isso, é im­por­tante que você se cer­ti­fi­que de que os seus pa­râ­me­tros estejam corretos: para evitar mensagens Va­lu­e­Er­ror e conseguir executar a função sem problemas.

# Correct use of randint()
random_number = random.randint(1, 10)
print("Random integer between 1 and 10:", random_number)
# Potential ValueError if 'end' is less than 'start'
random_number_error = random.randint(10, 5)  # This will raise a ValueError
print("This won't be printed as an error occurs.")
python

Nesse exemplo, pri­mei­ra­mente usamos random.randint(1, 10) para gerar um número inteiro aleatório entre 1 a 10. Em seguida, tentamos usar a função random.randint(10, 5), que resultou em um Va­lu­e­Er­ror. Isso ocorreu porque, nesse caso, o valor inicial é superior ao valor final.

TypeError na função randint

Um TypeError sinaliza que uma operação ou função foi aplicada a um tipo in­com­pa­tí­vel de dado. Ele pode ser exibido durante a aplicação da função randint() do módulo random, quando algum argumento não cor­res­pon­der ao tipo de dado suportado, como ilustra o exemplo abaixo:

import random
random_number_error = random.randint("1", "10")
python

Nesse código, tentamos fazer uso da função randint() com uma string Python como argumento. Ou seja, em vez de números inteiros, os ar­gu­men­tos usados tratam-se de strings ("1" e "10"), o que gera um TypeError. A função randint() só suporta números inteiros como ar­gu­men­tos na definição do intervalo de números ale­a­tó­rios.

Hos­pe­da­gem que se adapta às suas ambições
  • Fique online com 99,99% de tempo de atividade e segurança robusta
  • Aumente o de­sem­pe­nho com um clique à medida que o tráfego cresce
  • Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana
Ir para o menu principal