Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[ Condicionais] Estou em dúvida se fiz corretamente

#2 - Pergunte ao usuário sua idade e, com base nisso, use uma estrutura if elif else para classificar a idade em categorias de acordo com as seguintes condições:

Gostaria de saber se esta maneira também esta correta:

def exibir_opcoes(): print('1.Criança: 0 a 12 anos') print('2.Adolescente: 13 a 18 anos') print('3.Adulto: acima de 18 anos')

def escolher_opcao(): opcao_escolhida = int(input('Qual a sua idade? '))

if opcao_escolhida == 1: print('Criança')

elif opcao_escolhida == 2: print('Adolescente')

else: opcao_escolhida == 3 print('Adulto')

def main(): escolher_opcao()

2 respostas
solução!

Oi, primeiramente, ficou difícil de entender seu código, ainda mais porque o Python depende de indentação pra funcionar, então arrumei a formatação no Visual Studio Code e usei a ferramenta "inserir bloco de código" para transcrever aqui

def exibir_opcoes(): 
    print('1.Criança: 0 a 12 anos') 
    print('2.Adolescente: 13 a 18 anos') 
    print('3.Adulto: acima de 18 anos')

def escolher_opcao(): 
    opcao_escolhida = int(input('Qual a sua idade? '))

    if opcao_escolhida == 1: 
        print('Criança')

    elif opcao_escolhida == 2: 
        print('Adolescente')

    else: 
        opcao_escolhida == 3 
        print('Adulto')

def main(): 
    escolher_opcao()

A partir disso, bom nada acontece porque nenhum método definido é efetivamente chamado, apenas são definidos os métodos, mas eles precisam ser chamados para serem executados, corrigindo do jeito que eu acho que você queria fazer fica assim

def exibir_opcoes(): 
    print('1.Criança: 0 a 12 anos') 
    print('2.Adolescente: 13 a 18 anos') 
    print('3.Adulto: acima de 18 anos')

def escolher_opcao(): 
    opcao_escolhida = int(input('Qual a sua idade? '))

    if opcao_escolhida == 1: 
        print('Criança')

    elif opcao_escolhida == 2: 
        print('Adolescente')

    else: 
        opcao_escolhida == 3
        print('Adulto')

def main(): 
    exibir_opcoes() #adicionei o método exibir_opcoes no main
    escolher_opcao()

main() #chamada do método main

Agora sim a gente pode começar a analisar a lógica do if, elif e else, respondendo, infelizmente esta lógica não funciona, no caso você está pedindo a idade do usuário, mas comparando ela como se fosse: 1 ano => Criança, 2 anos => Adolescente, Qualquer outro número => Adulto

Essa lógica funcionaria caso o programa não fosse pra pegar a idade de alguém e classificar em criança, adolescente ou adulto, e sim se fosse algo tipo: "digite 1 caso você seja criança, 2 para adolescente ou outro número para adulto".

Dica: note que o else é literalmente o que restou das opções, então se o usuário digitou nem 1 e nem 2, não necessariamente 3, a condição para "adulto" já será atendida, a linha "opcao_escolhida == 3" não está fazendo nenhuma ação no programa e pode ser removida

certo obrigada!