TEMA

Dúvida sobre os test cases

Kim Felisberto preguntado 9 months ago

Bom dia,

Após ter bastante dificuldade para que meu código fosse aceito, consegui resolver o problema, mas não ficou claro para mim porque a primeira versão do código não foi aceita (dava 100% de erro). Abaixo segue o primeiro código:

### Codigo 1

A = input()
B = input()
C = input()

if A=='vertebrado':
    if B=='ave':
        if C=='carnivoro':
            animal = 'aguia'
        elif C=='onivoro':
            animal = 'pomba'
    if B=='mamifero':
        if C=='onivoro':
            animal = 'homem'
        elif C=='herbivoro':
            animal = 'vaca'
elif A=='invertebrado':
    if B=='inseto':
        if C=='hematofago':
            animal = 'pulga'
        elif C=='herbivoro':
            animal = 'lagarta'
    if B=='anelideo':
        if C=='hematofago':
            animal = 'sanguessuga'
        elif C=='onivoro':
            animal = 'minhoca'

print(animal)

A solução para esse código ser aceito foi usar "elif" em todos os "if"s alternativos, como pode ser visto no segundo código:

### Codigo 2

A = input()
B = input()
C = input()

if A=='vertebrado':
    if B=='ave':
        if C=='carnivoro':
            animal = 'aguia'
        elif C=='onivoro':
            animal = 'pomba'
    elif B=='mamifero':
        if C=='onivoro':
            animal = 'homem'
        elif C=='herbivoro':
            animal = 'vaca'
elif A=='invertebrado':
    if B=='inseto':
        if C=='hematofago':
            animal = 'pulga'
        elif C=='herbivoro':
            animal = 'lagarta'
    elif B=='anelideo':
        if C=='hematofago':
            animal = 'sanguessuga'
        elif C=='onivoro':
            animal = 'minhoca'

print(animal)

A minha dúvida é: por que da diferença? Existe algum caso possível do URI que por exemplo, a variável B seria verdadeira para mais de um "if"? Tentei imaginar quais casos isso poderia ser verdade, e não consegui.

Alguém tem alguma ideia do por quê? Agradeço desde já.

Este tema aún no ha sido contestado. ¡Sé el primero!

Recuerda no enviar soluciones. Tu mensaje puede ser revisado por nuestros moderadores.