Comecei a criar funções para melhorar a leitura do código no game de adivinhação, e queria implementar a seguinte função:
def print_msg_perdedor(numero_secreto):
print("Você perdeu!!!")
print(f"O número que eu havia pensado era {numero_secreto}")
Para isso, pensei em adicionar uma variável "perdeu" dentro do loop da função "verifica_chute", só que não faria sentido, pois o loop não irá continuar se rodada for maior que tentativas_totais. Pensei também em fazer: perdeu = rodada == tentativas_totais porém nesse caso acima, na rodada 5 da tentativa 5, já chamaria a função print_msg_perdedor() Em todo caso, de ambos os modos não funcionou.
Enfim, gostaria de ajuda para implementar a função print no final do loop abaixo:
def verifica_chute(tentativas_totais, numero_secreto, pontos):
""" função que verifica se o chute dado pelo usuário é igual
ao número_secreto dentro de x rodadas
"""
# for parametros - range(start, stop, [step])
for rodada in range(1, tentativas_totais + 1):
chute = int(input('Digite seu palpite de sorte: '))
if (chute < 1 or chute > 100):
print('O palpite deve estar entre 1 e 100! Tente novamente.')
continue # reinicia o laço
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
perdeu = rodada > tentativas_totais
print('Processando...')
time.sleep(1)
print(f'Tentativa {rodada} de {tentativas_totais}')
if (acertou):
print_msg_acertou()
break # interrompe o laço se acertou
if (maior):
print('Você errou! O seu chute foi maior do que o número secreto.')
if (menor):
print('Você errou! O seu chute foi menor do que o número secreto.')
if (perdeu):
print_msg_perdedor(numero_secreto)
pontos_perdidos = abs(numero_secreto - chute)
pontos -= pontos_perdidos