Ocorreu um erro no código, no caso, quando é inserido um número maior ou menor do que a condição(menor que 1 e maior que 100) as rodadas continuam sendo contadas, oque eu estou errando na lógica?
Tentei setar rodada como 0 ou fazer ela -1 dentro do bloco if(condicao): e mesmo assim não funcionou, ele seta a variavel rodada como 0 mas quando sobe para o for a rodada continua levando em consideração a rodada que não devia valer.
PS: esse código é exatamente o código dessa ultima aula, já copiei e colei no Pycharm e não deu diferença .
Segue o código:
import random
print("*********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("*********************************")
numero_secreto = random.randrange(1,101)
total_de_tentativas = 0
pontos = 1000
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
for rodada in range(1, total_de_tentativas + 1):
print("Tentativa {} de {}".format(rodada, total_de_tentativas))
chute_str = input("Digite um número entre 1 e 100: ")
print("Você digitou " , chute_str)
chute = int(chute_str)
if(chute < 1 or chute > 100):
print("Você deve digitar um número entre 1 e 100!")
continue
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
if(acertou):
print("Você acertou e fez {} pontos!".format(pontos))
break
else:
if(maior):
print("Você errou! O seu chute foi maior do que o número secreto.")
elif(menor):
print("Você errou! O seu chute foi menor do que o número secreto.")
pontos_perdidos = abs(numero_secreto - chute)
pontos = pontos - pontos_perdidos
print("Fim do jogo")