2
respostas

08 Mão na massa: Usando for

print("╔═════════════════════════════════╗")
print("║ Bem vindo ao jogo de adinhação! ║")
print("╚═════════════════════════════════╝")

numero_secreto = 42
total_de_tentativas = 3

for rodada in range(1, total_de_tentativas + 1):
    print(f"Tentativas {rodada} de {total_de_tentativas}")

    chute_str = input("Digite um numero entr 1 e 100: ")
    chute_num = int(chute_str)

    if(chute_num < 1) or (chute_num > 100):
        print("Você deve digitar um numero entre 1 e 100.")
        continue

    acertou   = chute_num == numero_secreto
    maior     = chute_num > numero_secreto
    menor     = chute_num < numero_secreto

    if (acertou):
        print("╔═════════════════════════════════╗")
        print("║          Você acertou!!!        ║")
        print("╚═════════════════════════════════╝")
        break # para a execução do laço de repetição
    else:
        if (maior):
            print("╔═════════════════════════════════╗")
            print("║     Você errou pra cima!!!      ║")
            print("╚═════════════════════════════════╝")
        elif(menor):
            print("╔═════════════════════════════════╗")
            print("║     Você errou pra baixo!!!     ║")
            print("╚═════════════════════════════════╝")

print("╔═════════════════════════════════╗")
print("║          Fim de jogo!!!         ║")
print("╚═════════════════════════════════╝")
2 respostas

Olá, Luisandro! Como vai?

Pelo que percebi, você não fez uma pergunta específica, mas compartilhou um código. Vou assumir que você está procurando por algum feedback ou possíveis melhorias.

Seu código parece estar seguindo corretamente as instruções da aula. Você substituiu o laço while por for e usou a função range para controlar o número de tentativas. Além disso, você usou o comando break para sair do laço quando o usuário adivinha o número, e o comando continue para ignorar o resto do laço quando o usuário insere um número fora do intervalo permitido.

Aqui estão algumas sugestões para melhorar ainda mais o seu código:

  1. Você pode considerar adicionar um espaço depois de "Digite um numero entr" para que a mensagem seja mais clara para o usuário: chute_str = input("Digite um numero entre 1 e 100: ").

  2. Para tornar o código mais legível, você pode considerar remover as variáveis maior e menor, e colocar as condições diretamente nos if e elif. Por exemplo:

    if (chute_num == numero_secreto):
        print("Você acertou!!!")
        break
    elif (chute_num > numero_secreto):
        print("Você errou pra cima!!!")
    elif (chute_num < numero_secreto):
        print("Você errou pra baixo!!!")
    
  3. Você pode considerar adicionar um feedback para o usuário caso ele esgote todas as tentativas sem adivinhar o número. Por exemplo, depois do laço for, você pode adicionar:

    else:
        print("Você esgotou todas as tentativas. O número secreto era", numero_secreto)
    

Lembre-se, essas são apenas sugestões e seu código atual já está bastante bom e segue as instruções da aula. Continue com o bom trabalho!

Espero ter ajudado e bons estudos!

Obrigado pelo retorno.