Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

função built-in, abs()

Coloquei dentro do for um if para verificar se o nível escolhido é o 2 e se o valor do chute é equivalente a 5 números maior ou menor que o numero da sorte(usei abs() para pegar o valor absoluto, caso de valor negativo), o jogador ganha uma pontuação bônus. Porém quando o valor do chute equivale a -5 do número da sorte, ele não esta recebendo o bônus.

#inicio do laço for

if(nivel == 2 and chute - numero_Sorte == abs(5)  ): #or numero_Sorte - chute == 5
        print("Passou perto, só digo que você ganhou {} pontos bonus".format(chute * 2))
        ponto = ponto + chute * 2

#demais codigos
2 respostas
solução!

Olá Anderson, não sei se entendi o seu problema, você quer que o jogador ganhe uma pontuação extra todas as vezes que o chute dele estiver exatamente 5 posições acima ou abaixo do número sorteado certo? Se for isso basta colocar a conta

chute - numero_Sorte

dentro da função abs(), assim:

abs(chute - numero_Sorte )

Da forma como esta se o chute do jogador for 5 posições menor do que o número aleatório gerado a igualdade não será verdadeira, pois -5 não é igual a 5, e o programa não entrara no if. Espero que isso resolva o seu problema.

Olá! Bom dia é isso mesmo! Vou testar mais tarde essa alteraçã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