1
resposta

[Projeto] Resolução do desafio “Hora da prática” em Python

Olá! Tudo bem?

Segue abaixo a minha resolução completa do desafio “Hora da prática”.


1. Instalar a versão 3.7.1 da biblioteca matplotlib

!pip install matplotlib==3.7.1

2. Importar a biblioteca numpy com o alias np

import numpy as np

3. Escolher aleatoriamente um número da lista

from random import choice

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

print(f"Número escolhido: {choice(lista)}")

4. Sortear um número inteiro positivo menor que 100

from random import randrange

numero = randrange(100)

print(f"Número sorteado: {numero}")

5. Calcular a potência de um número

from math import pow

base = int(input("Digite a base da potência: "))
expoente = int(input("Digite o expoente da potência: "))

print(f"{base} elevado a {expoente} é igual a {pow(base, expoente)}")

6. Sortear uma pessoa participante

from random import randint

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

sorteado = randint(1, participantes)

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

7. Gerar token de acesso par entre 1000 e 9998

from random import randrange

nome = input("Qual o seu nome? ")

token = randrange(1000, 10000, 2)

print(f"Olá, {nome}, o seu token de acesso é {token}! Seja bem-vindo(a)!")

8. Sortear 3 frutas para a salada surpresa

from random import choices

frutas = [
    "maçã", "banana", "uva", "pêra",
    "manga", "coco", "melancia", "mamão",
    "laranja", "abacaxi", "kiwi", "ameixa"
]

salada = choices(frutas, k=3)

print(f"A salada surpresa é: {salada[0]}, {salada[1]} e {salada[2]}")

9. Verificar números com raiz quadrada inteira

from math import sqrt

numeros = [2, 8, 15, 23, 91, 112, 256]

for numero in numeros:
    raiz = sqrt(numero)

    if raiz // 1 == raiz:
        print(f"O número {numero} possui raiz quadrada inteira igual a {int(raiz)}")

10. Calcular o valor da grama para um jardim circular

from math import pi, pow

raio = float(input("Digite o raio da área circular em metros: "))

area = pi * pow(raio, 2)

valor = area * 25.00

print(f"Você precisará pagar R$ {round(valor, 2)} por uma área de {round(area, 2)} metros de grama")

Essas foram as soluções que desenvolvi para praticar o uso de bibliotecas, funções matemáticas, sorteios aleatórios e entrada de dados em Python.

1 resposta

Olá, Filipe. Como vai?

Parabéns pela excelente resolução do desafio! O seu código está muito bem organizado e você demonstrou domínio sobre o uso das bibliotecas padrão do Python, como a math e a random, que são essenciais no dia a dia de quem trabalha com Data Science.

Notei que você utilizou as funções de forma muito precisa. Gostaria de destacar alguns pontos positivos e dar pequenas dicas para elevar ainda mais o nível do seu código:

  • Uso do randrange no Token: No item 7, você usou brilhantemente o terceiro argumento da função randrange(1000, 10000, 2). Isso garante que o número seja sempre par, o que mostra uma ótima leitura do problema.
  • Diferença entre choice e choices: No item 8, você usou choices(k=3). É importante lembrar que o choices (com "s" no final) permite repetições. Se você quisesse 3 frutas diferentes sem risco de repetir a mesma na mesma salada, o ideal seria usar o random.sample(frutas, 3).
  • Verificação de Raiz Inteira: No item 9, sua lógica if raiz // 1 == raiz foi muito criativa! Uma alternativa comum em Python é usar o método raiz.is_integer(), que faz exatamente essa verificação de forma bem direta.

Para ajudar a visualizar onde essas bibliotecas que você usou se encaixam no ecossistema do Python, veja este esquema:

  • Math: Focada em funções matemáticas de baixo nível (potência, raiz, constantes como PI).
  • Random: Essencial para simulações, sorteios e geração de dados aleatórios.
  • Numpy/Matplotlib: Bibliotecas externas (que você instalou e importou no início) voltadas para cálculos numéricos complexos e visualização de dados.

Continue praticando essa modularização (importar apenas o que vai usar), pois isso é uma boa prática que torna o carregamento dos seus scripts mais rápido!

Espero que possa ter lhe ajudado!