Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

[Projeto] Desafio: hora da prática | Python para Dados: trabalhando com funções, estruturas de dados e exceções

Aquecimento

  1. Instalação da biblioteca matplotlib
    Para instalar uma versão específica via terminal, usamos o gerenciador de pacotes pip:
Bash
pip install matplotlib==3.7.1
  1. Importação do numpy com alias
import numpy as np
  1. Escolha aleatória em uma lista
    Usamos a função choice() da biblioteca random.
import random

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

# Escolhe um elemento aleatório da lista
numero_escolhido = random.choice(lista)

print(f"O número escolhido aleatoriamente foi: {numero_escolhido}")
  1. Sorteio com randrange() (menor que 100)
    Como queremos um número inteiro positivo menor que 100, o intervalo vai de 1 até 99.
import random

# randrange(inicio, fim) não inclui o valor de fim. 
# Para ser positivo e menor que 100, vamos de 1 a 100 (o 100 fica de fora).
numero_sorteado = random.randrange(1, 100)

print(f"Número sorteado: {numero_sorteado}")
  1. Cálculo de potência com math.pow()
import math

# Solicita os dados mapeando para inteiro
base = int(input("Digite o 1º número inteiro (base): "))
expoente = int(input("Digite o 2º número inteiro (expoente): "))

# Calcula a potência
resultado = math.pow(base, expoente)

print(f"{base} elevado a {expoente} é igual a: {resultado}")

Aplicando a projetos

  1. Sorteio de seguidor(a)
import random

# Solicita o total de participantes
total_participantes = int(input("Digite a quantidade total de participantes do sorteio: "))

# Sorteia um número de 1 até o total informado
ganhador = random.randint(1, total_participantes)

print(f"O número sorteado que ganhou o prêmio foi: {ganhador}")
  1. Gerador de Token Par

Para garantir que o número seja par e varie de 1000 a 9998, podemos usar o randrange(inicio, fim, passo) com o passo definido como 2.

import random

nome = input("Digite o seu nome: ")

# O limite superior é 10000 para que o 9998 seja incluído. O passo 2 garante que seja par.
token = random.randrange(1000, 10000, 2)

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

Para escolher 3 elementos sem repetição de uma lista, usamos a função sample() da biblioteca random.

import random

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

# Seleciona 3 frutas aleatórias sem repetição
salada_surpresa = random.sample(frutas, 3)

print("As frutas escolhidas para a sua salada surpresa são:")
for fruta in salada_surpresa:
    print(f"- {fruta}")
  1. Raiz quadrada e validação de inteiros
import math

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

print("Análise das raízes quadradas:")
print("-" * 30)

for num in numeros:
    raiz = math.sqrt(num)
    
    # Verifica se a raiz é um número inteiro usando a dica fornecida
    if raiz // 1 == raiz:
        print(f"O número {num} possui raiz inteira: {int(raiz)}")
  1. Calculador de custo de grama para jardim circular

Aqui aplicamos a fórmula $A = \pi \cdot r^2$ utilizando math.pi e math.pow().

import math

# Configuração do preço por m²
PRECO_METRO_QUADRADO = 25.00

# Entrada do usuário
raio = float(input("Digite o raio do jardim circular em metros: "))

# Cálculo da área: pi * raio²
area = math.pi * math.pow(raio, 2)

# Cálculo do custo total
valor_total = area * PRECO_METRO_QUADRADO

print(f"Área do jardim: {area:.2f} m²")
print(f"O valor total a pagar pela grama é: R$ {valor_total:.2f}")