A função randint() permite gerar números inteiros ale­a­tó­rios num de­ter­mi­nado intervalo de forma rápida e simples. É, portanto, uma fer­ra­menta com uma grande variedade de apli­ca­ções.

Para que serve o randint()?

randint() é uma função Python que faz parte do módulo random. Ela é res­pon­sá­vel por criar um número inteiro aleatório dentro de um intervalo. Ao contrário de algumas funções em outras lin­gua­gens de pro­gra­ma­ção, randint() inclui o ponto final es­pe­ci­fi­cado do intervalo, de modo que tanto o valor inicial quanto o final podem estar no intervalo de re­sul­ta­dos possíveis. Além disso, essa função é par­ti­cu­lar­mente útil em apli­ca­ções baseadas em valores ale­a­tó­rios.

O módulo random contém outras funções além da randint() para gerar números ale­a­tó­rios de di­fe­ren­tes maneiras. Uma delas é random.randrange(start, stop[, step]), que tem uma fun­ci­o­na­li­dade se­me­lhante à randint(), mas permite es­pe­ci­fi­car um passo opcional para a sequência de números. Além disso, random.randint() gera apenas números inteiros, enquanto random.uniform(a, b) retorna um número aleatório de vírgula flutuante no intervalo es­pe­ci­fi­cado. O pacote numpy também inclui outras funções poderosas para gerar números ale­a­tó­rios, es­pe­ci­al­mente para matrizes e operações ma­te­má­ti­cas complexas.

Qual é a sintaxe de randint()?

A função randint() do módulo aleatório do Python é re­la­ti­va­mente fácil de usar. Ela requer apenas dois pa­râ­me­tros: o valor inicial e o valor final do intervalo desejado para o número inteiro aleatório.

import random
random_number = random.randint(start, end)
python
  • import random: importa o módulo aleatório que contém a função randint(). Este passo é ne­ces­sá­rio para poder utilizar randint().
  • random_number: é uma variável na qual é ar­ma­ze­nado o resultado da função randint(). Contém o número inteiro aleatório gerado.
  • start: é o valor inicial do intervalo a partir do qual o número inteiro aleatório deve ser gerado. Está incluído no resultado.
  • end: é o valor final do intervalo, que também está incluído no resultado.

Veja este exemplo:

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

Este código gera um número inteiro aleatório entre 1 e 100 e o imprime. start e end incluem os valores limite es­pe­ci­fi­ca­dos, pelo que o número gerado pode estar no intervalo de 1 a 100.

Como e onde utilizar a função randint()?

A função randint() permite gerar números ale­a­tó­rios de forma flexível no seu programa. No entanto, é im­por­tante garantir que o código esteja limpo e correto para evitar possíveis erros.

Ligar várias vezes para randint()

Quando chama a função randint() várias vezes, pode gerar vários números inteiros ale­a­tó­rios em di­fe­ren­tes partes do código. Cada chamada à randint() gera um novo número inteiro aleatório de acordo com os pa­râ­me­tros es­pe­ci­fi­ca­dos.

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 código anterior, são uti­li­za­das três chamadas separadas para randint() para gerar três números inteiros ale­a­tó­rios distintos entre 1 e 10. Cada variável random_numberX armazena o resultado de uma chamada randint(), e esses valores podem ser reu­ti­li­za­dos ou emitidos de acordo com os re­qui­si­tos da aplicação.

O Va­lu­e­Er­ror em randint()

Em randint(), ocorre um Va­lu­e­Er­ror quando os ar­gu­men­tos não atendem às ex­pec­ta­ti­vas, por exemplo, se o valor inicial for maior que o valor final ou se forem passados ar­gu­men­tos não inteiros. Para evitar exceções Va­lu­e­Er­ror e garantir que a função seja executada cor­re­ta­mente, é im­por­tante cer­ti­fi­car-se de que os pa­râ­me­tros estejam corretos.

# 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

Neste exemplo, primeiro usa-se random.randint(1, 10) para criar um número inteiro aleatório entre 1 e 10. Depois, tenta-se chamar random.randint(10, 5), o que provoca um Va­lu­e­Er­ror, pois o valor inicial é maior que o final.

O TypeError em randint()

Um TypeError significa que está a tentar realizar uma operação ou utilizar uma função com um tipo de dados ina­de­quado para tal. No contexto da função randint() do módulo random, poderá ocorrer um TypeError se os ar­gu­men­tos passados não tiverem o tipo de dados esperado.

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

Neste exemplo, pretende-se chamar randint() com strings Python como ar­gu­men­tos. No entanto, estas strings contêm "1" e "10" em vez de números inteiros. Isso causa um TypeError, pois randint() espera inteiros como ar­gu­men­tos para definir o intervalo aleatório.

Ir para o menu principal