1
resposta

Simplificando - Testando Moedas

Antes de olhar as possíveis resoluções no exercício, eu tentei fazer da minha forma. Fiz de uma forma bem simplificada e gostaria de saber se da forma que foi feito na resolução do exercício traz alguma vantagem quando vamos aumentando a complexidade do código e não nesse caso em específico.

Fiz dessa forma:

m1 = 'CCcCCccCCCccCcCccCcCcCCCcCCcccCCcCcCcCcccCCcCcccCc'
m2 = 'CCCCCccCccCcCCCCccCccccCccCccCCcCccCcCcCCcCccCccCc'
m3 = 'CccCCccCcCCCCCCCCCCcccCccCCCCCCccCCCcccCCCcCCcccCC'
m4 = 'cCCccCCccCCccCCccccCcCcCcCcCcCcCCCCccccCCCcCCcCCCC'
m5 = 'CCCcCcCcCcCCCcCCcCcCCccCcCCcccCccCCcCcCcCcCcccccCc'

moedas = pd.DataFrame([{'Faces': 'Coroa','m1': m1.count('C'), 'm2': m2.count('C'), 'm3': m3.count('C'), 'm4': m4.count('C'), 'm5' : m5.count('C')},
          {'Faces':'Cara','m1': m1.count('c'), 'm2': m2.count('c'), 'm3': m3.count('c'), 'm4': m4.count('c'), 'm5' : m5.count('c')}],
                     index = ['C','c'])

Com esse resultado: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

A resolução do exercício traz o seguinte código:

eventos = {'m1': list(m1), 
            'm2': list(m2), 
            'm3': list(m3), 
            'm4': list(m4), 
            'm5': list(m5)}
moedas = pd.DataFrame(eventos)
df = pd.DataFrame(data = ['Cara', 'Coroa'], 
                    index = ['c', 'C'], 
                    columns = ['Faces'])
for item in moedas:
    df = pd.concat([df, moedas[item].value_counts()], 
                    axis = 1)
df
1 resposta

Oi, Marcela! Tudo bem com você?

Mesmo que sua solução pareça mais simplificada, ela acaba sendo mais trabalhosa no sentido manual, ou seja, você tem mais trabalho para fazer o processo que a máquina.

Isso se confirma principalmente se formos pegar um exemplo com 100 eventos (m100), no código da solução podemos utilizar um laço de repetição para criar o dicionário eventos, mas na sua resolução, seria necessário fazer à mão - ou mudar mais um pouco para que seja possível adicionar um laço de repetição.

De toda forma, é uma ideia bacana e fora da caixa e você está de parabéns por ter pensado nela!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software