Escreva o códigoDesafioPython
Decidir a ação do RPG com guard
Combinar match/case com uma condição adicional e leitura numérica.
Leia dois inteiros válidos, um por linha: a opção e o resultado de um D20 (de 1 a 20). Use match/case. A opção 1 imprime passou se o D20 for pelo menos 10, ou falhou caso contrário. A opção 2 imprime descansou. Outras opções imprimem ação inválida.
Entrada: Dois inteiros: opção e D20, um por linha. O D20 estará entre 1 e 20.
Saída: Uma linha: passou, falhou, descansou ou ação inválida.
Revisa aula 9 (18/08), aula 10 (21/08)
Exemplo 1
- Entrada
1 10
- Saída esperada
passou
A opção é 1 e o D20 igual a 10 satisfaz a guard >= 10.
Exemplo 2
- Entrada
1 9
- Saída esperada
falhou
A opção é 1, mas D20 igual a 9 não satisfaz a guard; o próximo case 1 imprime falhou.
Solução comentada
Verifique uma tentativa sua para liberar a solução.
opcao = int(input())
d20 = int(input())
match opcao:
case 1 if d20 >= 10:
print("passou")
case 1:
print("falhou")
case 2:
print("descansou")
case _:
print("ação inválida")A guard de case 1 if d20 >= 10 exige a opção certa e a comparação verdadeira. Se a opção é 1 e o D20 é menor, o próximo case 1 imprime falhou. Os outros cases tratam descanso e opções inválidas.
Erro comum: Usar > em vez de >= e reprovar o D20 igual a 10.
Escreva sua solução e verifique quando quiser.