1
resposta

Desafio - Hora da pratica: Exercício 8

Olá pessoal,

Achei bem interessante o exercício 8 e em como utilizar o sample (amostra)

  1. Para diversificar e atrair novos(as) clientes, uma lanchonete criou um item misterioso em seu cardápio chamado "salada de frutas surpresa". Neste item, são escolhidas aleatoriamente 3 frutas de uma lista de 12 para compor a salada de frutas da pessoa cliente. Crie o código que faça essa seleção aleatória de acordo com a lista abaixo:
    Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Obrigada!

1 resposta

Olá, Vanessa. Como vai?

O seu código ficou excelente! Você utilizou a biblioteca correta e a função sample do módulo random foi a escolha perfeita para esse desafio. Como podemos ver no resultado do notebook, o programa sorteou três frutas distintas com sucesso.

A grande vantagem de utilizar a função sample (amostra) nesse cenário de negócio da lanchonete é que ela realiza uma amostragem sem reposição. Isso significa que ela garante matematicamente que nenhuma fruta será repetida no sorteio. Se usássemos outras funções de sorteio, corríamos o risco de o sistema criar uma "salada de frutas surpresa" composta por três porções de "maçã", o que frustraria o cliente.

Para agregar ainda mais valor ao seu aprendizado sobre o módulo random, vale a pena conhecer e diferenciar as três principais funções de escolha aleatória que o Python nos oferece:

  • sample(lista, k): Escolhe k elementos únicos de uma lista, sem repetição. É perfeito para o seu caso.
  • choice(lista): Escolhe apenas um elemento aleatório da lista.
  • choices(lista, k=3): Escolhe k elementos da lista, mas com reposição. Ou seja, permite que o mesmo elemento seja sorteado mais de uma vez.

Complementando a sua solução e pensando em uma boa prática de exibição para o cliente da lanchonete, podemos formatar a saída de texto do console. Em vez de exibir o resultado no formato bruto de lista do Python com colchetes e aspas (['maçã', 'melancia', 'uva']), podemos usar o método .join() para apresentar os ingredientes de uma forma mais apetitosa e profissional.

Veja esta sugestão de melhoria visual:

from random import sample

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

# Sorteia 3 frutas únicas
frutas_sorteadas = sample(frutas, 3)

# Formata a lista transformando-a em texto separado por vírgulas
ingredientes = ", ".join(frutas_sorteadas)

# Exibe uma mensagem amigável para o cliente
print("--- CARDÁPIO MISTERIOSO ---")
print(f"Sua Salada de Frutas Surpresa de hoje contém: {ingredientes}.")

Dessa forma, o resultado na tela ficaria elegante e pronto para um sistema real de atendimento: Sua Salada de Frutas Surpresa de hoje contém: maçã, melancia, uva.

Parabéns pelo excelente desenvolvimento da atividade e por compartilhar sua solução com a comunidade do fórum!

Espero que possa ter lhe ajudado!