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!

1
resposta

Resolução - Desafio: hora da prática - Seção 01

Boa noite!

  1. Insira aqui a descrição dessa imagem para ajudar na acessibilidade
  2. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3, 4.
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

5, 6.
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

7, 8.
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

9, 10.
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Estudante. Como vai?

Os seus códigos do desafio ficaram fantásticos! Você resolveu todos os exercícios propostos de forma muito organizada e correta, explorando de maneira perfeita as principais bibliotecas utilitárias do Python (como math e random), além de demonstrar um ótimo domínio de manipulação de strings com as f-strings.

Vamos destacar os pontos altos da sua resolução e trazer algumas pequenas observações técnicas que agregam ainda mais valor à sua prática:

Análise dos Exercícios

  • Cálculo da área do jardim e quadrado perfeito: A sua lógica para testar se um número é quadrado perfeito usando a divisão inteira e o resto (sqrt(i) // 1 == sqrt(i)) foi super criativa! No cálculo do valor da grama, você utilizou a formatação de duas casas decimais ({area:.2f}) perfeitamente, o que é uma excelente prática para lidar com moedas.
  • Uso da biblioteca random: Você soube diferenciar muito bem quando usar cada função:
  • choice(lista) para pescar um único número.
  • randrange(1, 100) para gerar um valor inteiro dentro de um intervalo.
  • sample(fratas, k=3) para selecionar múltiplos elementos únicos sem repetição (perfeito para a salada de frutas!).

Um detalhe importante sobre o randrange

Analisando a imagem em que você gerou o token de acesso para o usuário Daniel, você usou a seguinte estrutura:

print(f"Olá, {name}, o seu token de acesso é {randrange(initLim, finLim)}")

Vale apenas lembrar um pequeno detalhe técnico sobre o funcionamento do randrange(start, stop): o limite final (stop) é exclusivo.

Isso significa que, com as suas variáveis configuradas como initLim = 1000 e finLim = 9999, o Python gerará números aleatórios de 1000 até 9998. Se o seu objetivo era incluir o número 9999 como um token possível para o sorteio, basta ajustar o limite final somando 1:

initLim = 1000
finLim = 10000 # O limite vai até 9999

print(f"Olá, {name}, o seu token de acesso é {randrange(initLim, finLim)}")

Outra alternativa equivalente muito usada em Python para quando queremos incluir os dois limites (mínimo e máximo) é usar a função randint:

from random import randint
# O randint inclui tanto o 1000 quanto o 9999 no sorteio
token = randint(1000, 9999)

Parabéns pelo excelente desempenho na entrega de toda a seção de exercícios! Os prints mostram que o seu ambiente de desenvolvimento (Google Colab / Jupyter) rodou tudo de primeira e com muito sucesso. Continue com esse foco nos próximos capítulos!

Espero que possa ter lhe ajudado!