usuário_input = int(input("Qual é a sua idade?"))
match usuário_input:
case idade x<=12:
print("Criança")
case idade x=>13:
print("Adolescente")
case_:
print("Adulto")
Não entendi porque não tá rodando
usuário_input = int(input("Qual é a sua idade?"))
match usuário_input:
case idade x<=12:
print("Criança")
case idade x=>13:
print("Adolescente")
case_:
print("Adulto")
Não entendi porque não tá rodando
Olá, Ionara! Como vai?
O problema está na forma como você escreveu o match-case.
No Python, o match não funciona como um if com condições. Ele serve para comparar padrões literais ou estruturas, não expressões lógicas.
No seu código:
match usuário_input:
case idade x <= 12:
print("Criança")
case idade x >= 13:
print("Adolescente")
case_:
print("Adulto")
Isso não é uma sintaxe válida em Python.
Se você quer verificar faixas de idade, o mais adequado é usar if elif else:
usuário_input = int(input("Qual é a sua idade? "))
if usuário_input <= 12:
print("Criança")
elif usuário_input >= 13 and usuário_input <= 17:
print("Adolescente")
else:
print("Adulto")
match-caseO match-case funcionaria assim:
usuário_input = int(input("Qual é a sua idade? "))
match usuário_input:
case 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12:
print("Criança")
case 13 | 14 | 15 | 16 | 17:
print("Adolescente")
case _:
print("Adulto")
Perceba que você precisa listar os valores possíveis, porque o match não aceita operadores relacionais (<=, >=).
Minha sugestão: use if elif else para intervalos e match-case apenas quando quiser comparar valores exatos ou padrões específicos.
Espero ter ajudado e fico à disposição se precisar.
Abraço e bons estudos!
Sim,a judou muito. Obrigada Daniel.
É que tenho mania de quando aprendo algo novo, acho que serve como único, tipo dá para todos os aspectos.
Mas realmente o código fica mais extenso e trabalhoso nesse caso com match. Dessa vez não deu,match. kkk