1
resposta

Nível inexistente.

Na aula, 01 Adicionando níveis ao jogo:

print("Qual o nível de dificuldade?")
print("(1) Fácil (2) Médio (3) Difícil")

nivel = int(input("Defina o nível: "))

if (nivel == 1):
    total_de_tentativas = 20
elif (nivel == 2):
    total_de_tentativas = 10
else:
    total_de_tentativas = 5

O que aconteceria se o usuário digitar um número diferente de 1, 2 e 3?

Como poderia resolver o problema?

Existe algum comando, caso, a pessoa digitasse um número diferente, o sistema retornasse para a pergunta? Ex: código abaixo:

print("Qual o nível de dificuldade?")
print("(1) Fácil (2) Médio (3) Difícil")

nivel = int(input("Defina o nível: "))

if (nivel == 1):
    total_de_tentativas = 20
elif (nivel == 2):
    total_de_tentativas = 10
elif(nivel==3):
total_de_tentativas = 5
else:
    Vá para:  pergunta
1 resposta

Oi Leonardo, tudo bom?

O que aconteceria se o usuário digitar um número diferente de 1, 2 e 3?

Pelo comportamento definido nos ifs, ele cairia em 1 se fosse digitado 1, 2 se fosse digitado 2 e 3 para qualquer outro número digitado. Inclusive, se você digitasse -1 o valor definido para total_de_tentativas seria 5 =)

Para resolver esse problema, poderiamos alterar o algoritmo para trabalhar de forma comparativa ao invés de assertiva:

if (nivel < 2):
    total_de_tentativas = 20
elif (nivel < 3):
    total_de_tentativas = 10
else:
    total_de_tentativas = 5

Dessa forma, qualquer número digitado menor que 2 cairia no nível 1, se fosse digitado 2, cairia no nível 2 e qualquer número maior que 2 caíria no nível 3.

A abordagem que você colocou também é justa pois garante que qualquer número digitado fora do esperado retorne um direcionamento pro usuário. Acredito que ficou faltando apenas o print() para exibir no console:

else:
    print("Vá para:  pergunta")

Ou algo do tipo, com um while repetindo o print da pergunta até que um valor específico seja digitado:

digitouAlgo = false
while(!digitouAlgo):
    print("Qual o nível de dificuldade?")
    print("(1) Fácil (2) Médio (3) Difícil")

    nivel = int(input("Defina o nível: "))
    digitouAlgo = true

    if (nivel == 1):
        total_de_tentativas = 20
    elif (nivel == 2):
        total_de_tentativas = 10
    elif(nivel==3):
    total_de_tentativas = 5
    else:
        digitouAlgo = false

De qualquer forma, existem diversas maneiras de implementar essa funcionalidade mesmo mas acredito que a ideia da atividade seja introduzir o conceito de como as operações condicionais funcionam =)

Parabéns pelo questionamento das funcionalidades!

Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software