Use a função randint da biblioteca random, como explicado em sala de aula, para gerar 20 números aleatórios de 0 a 50 . Sempre que um múltiplo de 5 for gerado, o valor e sua posição deverão ser impressos na tela.
Passo 1
O que o enunciado pede e quais informações ele dá:
- Gerar
números aleatórios no intervalo de a (inclusive). - Sempre que um múltiplo de
for gerado, imprimir na tela o valor e a sua posição na sequência. - Não foi especificado explicitamente se a posição começa em
ou em ; por convenção aqui vou usar a posição iniciando em (ou seja, o primeiro número gerado tem posição , o segundo tem posição , etc.).
Passo 2
Conceitos e funções que vamos usar (explicados de forma didática):
- A função
randintdo módulorandom:- Em Python,
random.randint(a, b)retorna um inteiro aleatório entreaeb, inclusive. Ou seja,random.randint(0, 50)pode produzir qualquer inteiro deaté .
- Em Python,
- Repetição (
for) para gerarnúmeros: - Usamos um laço
forque percorrevezes para gerar exatamente números. - Para acompanhar a posição, podemos usar
range(1, 21)para gerar índices.
- Usamos um laço
- Teste de “múltiplo de 5”:
- Um número
é múltiplo de quando existe um inteiro tal que . - Computacionalmente, verificamos isso testando se o resto da divisão de
por é zero. Em Python usamos o operador %(módulo): o teste én % 5 == 0. Se forTrue, entãoé múltiplo de .
- Um número
- Impressão formatada:
- Vamos imprimir uma linha com a posição e o valor sempre que o teste de múltiplo for satisfeito. Exemplo de saída:
Posição 3: valor 25.
- Vamos imprimir uma linha com a posição e o valor sempre que o teste de múltiplo for satisfeito. Exemplo de saída:
Passo 3
Como montar o algoritmo passo a passo (estratégia clara que você pode aplicar na prova):
- Importar o módulo
random. - Fazer um laço que itere
vezes, usando índices de a para as posições. - Em cada iteração, chamar
random.randint(0, 50)para obter um número aleatório. - Testar se o número é múltiplo de
usando n % 5 == 0. - Se for múltiplo, imprimir a posição e o valor.
Passo 4
Explicação detalhada de cada linha do código (linha a linha), para você entender e repetir na prova:
import random— importa a biblioteca padrão que tem a funçãorandint.for pos in range(1, 21):— cria um laço que repetevezes; posassume os valoresa , representando a posição do número gerado. n = random.randint(0, 50)— gera um inteiro aleatório entree (inclusive) e guarda em n.if n % 5 == 0:— verifica se o resto da divisão denporé zero; se for, né múltiplo de. print(f"Posição {pos}: valor {n}")— se a condição acima for verdadeira, imprime a posição e o valor formatados.
Dica prática: se quiser resultados reproduzíveis (útil para testar), defina uma semente antes de gerar os números com
random.seed(algum_inteiro). Não faça isso na prova a menos que peçam exatamente a mesma sequência.Passo 5
Código final pronto para rodar (copie e cole no seu interpretador Python):
import random
for pos in range(1, 21):
n = random.randint(0, 50)
if n % 5 == 0:
print(f"Posição {pos}: valor {n}")
Passo 6
O que esperar ao rodar:
- O programa não imprime nada quando o número gerado não é múltiplo de
. - A cada múltiplo de
gerado aparecerá uma linha parecida com Posição 7: valor 40. - O número de linhas impressas varia a cada execução, pois os números são aleatórios.
Resposta
import random
for pos in range(1, 21):
n = random.randint(0, 50)
if n % 5 == 0:
print(f"Posição {pos}: valor {n}")