Oi Thiago, tudo bem com você?
Ótima pergunta!
No caso do código implementado pelo professor, quando o usuário digita algum número maior que 3 ou até mesmo o 0(ou valores menores), automaticamente têm-se um número de tentativas igual a 5.
Porém, caso quiséssemos permitir ao usuário digitar apenas os números 1, 2 ou 3, podemos fazer um loop que irá se repetir enquanto o usuário digitar valores diferentes dos aceitos. A ideia é que façamos o seguinte:
Usuário digitou o número 0 --> então vamos pedir para que ele digite o número novamente, pois 0 não é um número aceito.
Usuário digitou o número 4 --> então vamos pedir para que ele digite o número novamente, pois 4 não é um número aceito.
Usuário digitou o número -1 --> então vamos pedir para que ele digite o número novamente, pois -1 não é um número aceito.
Usuário digitou o número 1 --> perfeito, o número 1 é um número aceito, então podemos continuar a execução do programa.
Em código, podemos fazer um loop (while) que irá se repetir enquanto os valores digitados pelo usuário for diferente de 1, 2 ou 3. Veja:
print("Qual o nível de dificuldade?")
print("(1) Fácil (2) Médio (3) Difícil")
nivel = int(input("Defina o nível: ")) # pegamos a primeira entrada do usuário
while nivel != 1 and nivel != 2 and nivel != 3: # verificamos se é uma entrada válida, caso não seja, irá entrar nesse loop e pedir para digitar um valor válido
nivel = int(input("Defina um valor válido para o nível: "))
if(nivel == 1):
total_de_tentativas = 20
elif(nivel == 2):
total_de_tentativas = 10
elif(nivel == 3):
total_de_tentativas = 3
Pegou a ideia?
Qualquer dúvida é só falar, estou a disposição. Abraços e bons estudos!