Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

[Dúvida] Funções e fluxos no universo do Streaming

def classificar_musica(genero_favorito, genero_musica):
    if genero_favorito == genero_musica:
        return 'recomendada'
    elif genero_favorito == 'Pop' or genero_favorito == 'Rock':
        return 'neutra'
    else:
        return 'não recomendada'

resultado = classificar_musica('Rock', 'Pop')
print(resultado)

Pela análise que fiz neste código, onde encontrei um padrão, a utilização do operador lógico "OR" com a condicional onde uma das opções for verdadeira, retornaria verdadeira, onde então retornou "neutra".

Só preciso saber se a análise que eu fiz foi acertiva, e se não, o que eu deveria realamente analisar ?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oii, Rafael!

A sua análise tá correta. No código que você compartilhou, a função classificar_musica utiliza uma estrutura condicional para classificar a música. Vamos detalhar o que acontece:

  1. A função verifica se genero_favorito é igual a genero_musica. Se for, retorna 'recomendada'. No seu exemplo, 'Rock' não é igual a 'Pop', então essa condição não é atendida.

  2. Em seguida, a função verifica se genero_favorito é 'Pop' ou 'Rock'. Como você passou 'Rock' como genero_favorito, essa condição é verdadeira. Por isso, a função retorna 'neutra'.

  3. Caso nenhuma das condições anteriores seja verdadeira, a função retornaria 'não recomendada', mas isso não ocorre no seu caso.

Portanto, o resultado será 'neutra', como você mencionou. O uso do operador lógico "OR" faz com que a condição seja verdadeira se pelo menos uma das partes for verdadeira, o que é exatamente o que acontece aqui.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!