Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] É possível transformar o if do nível de dificuldade em um ternário?

É possível transformar essas validações em um ternário em python?

if(nivel == 1):
    total_de_tentativas = 20
elif(nivel == 2):
    total_de_tentativas = 10
elif(nivel == 3):
    total_de_tentativas = 5
1 resposta
solução!

Operador Ternário?

Vamos cuidar de alguns detalhes para garantir que estamos falando da mesma coisa.

Definição

O Operador Ternário de outras linguagens é conhecido em python como Expressão Condicional.

Seu uso

Seu formato é:

<expressao1> if <condicao> else <expressao2>

Funcionamento

  1. A condição é avaliada. Se for verdadeira, executa-se a expressão 1.
  2. Caso a condição seja falta, executa-se a expressão 2.

Considerações

Você consegue trabalhar com if e else, mas não com elif.


Quickhack

Se você quiser meeesmo colocar tudo em uma só linha, é possível cascatear duas Expressões Condicionais.

Vamos ilustrar:

total_de_tentativas = 20 if nivel == 1 else 10 if nivel == 2 else 5

Traduzindo:

  1. total_de_tentativas recebe 20 se nivel == 1
  2. total_de_tentativas recebe 10 se nivel == 2
  3. total_de_tentativas recebe 5 se nivel == 3

Disclaimer

É uma prática desaconselhável, tendo em vista a reduz a legibilidade do código.


Fontes:

https://docs.python.org/3/reference/expressions.html#conditional-expressions

https://peps.python.org/pep-0308/