1
resposta

Solução e Comentarios

idade_str = input("Digite sua idade: ")
idade = int(idade_str)

if (idade > 18):
    print("Você é maior de idade.")
else:
    if (idade < 12):
        print("Você é uma criança.")
    elif (idade > 12):
        print("Você é um adolescente.")

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Minha solução é dizer que se elif for >= a 12 ele é uma adolescente pois

if já diz que se ela for < 12 ele é uma criança

o Python precisa entender que se ela tem 12 anos ela já é uma adolescente e para ele entender eu utilizo o sinal >= isso fará que o valor retorne true;

eu aconselho também fazer o mesmo com > 18 e alterar para >= 18 , pois se ela já tem 18 anos , na Lei a pessoa já é de maior

então ficaria assim :

idade_str = input("Digite sua idade: ")
idade = int(idade_str)

if (idade >= 18):
    print("Você é maior de idade.")
else:
    if (idade < 12):
        print("Você é uma criança.")
    elif (idade >= 12):
        print("Você é um adolescente.")

Resultado de todas as possibilidades :

Maior ou igual 18

Maior de Idade

Menor de Idade

Menor de Idade

Adolescente

Adolescente

Maior que 12

Maior que 12

site utilizado para executar o código : https://www.programiz.com/python-programming/online-compiler/

1 resposta

Oi Guilherme,

Você pode simplificar o código informando na primeira linha que quer um resultado inteiro (int).

idade_str = int(input("Digite sua idade: ")