1
resposta

Desafio: hora da prática

2. Escreva um código para importar a biblioteca numpy com o alias np.

Instalando uma versão específica do matplotlib

!pip install matplotlib==3.7.1

Importando a biblioteca numpy com alias

import numpy as np

3. Crie um programa que leia a seguinte lista de números e escolha um número desta aleatoriamente.

lista = [8, 12, 54, 23, 43, 1, 90, 87, 105, 77]

Criando uma lista de números

lista = [8, 12, 54, 23, 43, 1, 90, 87, 105, 77]

Importando a função choice da biblioteca random

from random import choice

Escolhendo aleatoriamente um número da lista

numero_aleatorio = choice(lista)
numero_aleatorio

Aplicando a projetos
6. Um programa deve ser escrito para sortear uma pessoa seguidora de uma rede social para ganhar um prêmio. A lista de participantes é numerada e devemos escolher aleatoriamente um número de acordo com a quantidade de participantes. Peça à pessoa usuária para fornecer o número de participantes do sorteio e devolva para ela o número sorteado.

Importando a função randint da biblioteca random

from random import randint

Solicitando o número de participantes do sorteio

quantidade = int(input("Digite o número de participantes: "))

Sorteando um número entre 1 e a quantidade informada

numero_sorteado = randint(1, quantidade)

Exibindo o resultado

print(f"O número sorteado foi: {numero_sorteado}")

1 resposta

Olá, Penha. Como vai?

Parabéns pela resolução dos desafios! O seu código está impecável, limpo e utiliza as melhores funções das bibliotecas padrão do Python e do ecossistema de dados (numpy e random).

É muito bacana ver como você organizou as importações de forma cirúrgica: trouxe o numpy com o apelido padrão de mercado (np) e importou apenas as funções específicas que precisava da biblioteca random (choice e randint). Essa é uma excelente prática para otimizar o uso de memória do programa.

Para agregar ainda mais valor ao seu tópico e ajudar os colegas que estão estudando o mesmo módulo, vamos detalhar rapidamente por que a escolha de cada função foi perfeita para cada cenário:


Análise Prática das Escolhas do seu Código

  • Desafio 2 (import numpy as np): Usar o codinome np é uma convenção universal na comunidade de Data Science. Fazer isso poupa digitação quando vamos criar matrizes ou realizar cálculos matemáticos complexos. A instalação do matplotlib na versão específica com !pip install também mostra o cuidado em manter o ambiente controlado.
  • Desafio 3 (choice): A função choice é perfeita para listas pré-existentes. Ela analisa o índice da lista e extrai diretamente um elemento completo, sem que você precise se preocupar com o tamanho do conjunto.
  • Desafio 6 (randint): No sorteio dos seguidores, a escolha do randint(1, quantidade) foi cirúrgica. Ao contrário de outras funções de aleatoriedade, o randint(a, b) do Python inclui tanto o número inicial quanto o final no sorteio (intervalo fechado). Isso garante que o primeiro participante (1) e o último (quantidade) tenham exatamente as mesmas chances de ganhar.

Uma Sugestão de Boa Prática para o Código do Sorteio (Tratamento de Exceções)

Como este capítulo do curso também aborda o tratamento de exceções, vale a pena pensar no que aconteceria se a pessoa usuária digitasse um texto por engano (como "dez") ou um número negativo no campo do sorteio. O programa travaria com um erro de valor (ValueError).

Para tornar o seu script do Desafio 6 blindado contra erros e pronto para rodar em produção, podemos aninhar a captura do input dentro de um bloco try/except combinada com uma validação simples.

Veja como ficaria essa evolução do seu código:

from random import randint

try:
    quantidade = int(input("Digite o número de participantes: "))
    
    # Validando se o número é realista para um sorteio
    if quantidade <= 1:
        print("Para realizar um sorteio, você precisa de pelo menos 2 participantes.")
    else:
        numero_sorteado = randint(1, quantidade)
        print(f"O número sorteado foi: {numero_sorteado}")

except ValueError:
    print("Erro: Por favor, digite apenas números inteiros válidos (ex: 10, 50, 100).")

Essa pequena adição garante que o programa trate o erro de digitação de forma amigável, sem exibir aquelas linhas vermelhas de falha do Python para o usuário final.

Parabéns pela consistência e pela excelente postagem com as resoluções!

Espero que possa ter lhe ajudado!