3.16 Exercícios - Utilizando O For No Jogo
- Substitua o comando while pelo for começando no 1 e indo até o total_de_tentativas . Não esqueça de remover a declaração da variável rodada e o seu incremento dentro do loop:
numero_secreto =
total_de_tentativas =
for rodada in range(1, total_de_tentativas):print(f'Tentativa {} de {} {rodada, total_de_tentativas}')chute = int(input(‘Digite o seu número: ’)) print(‘Você digitou: ’, chute)
acertou = numero_secreto == chute maior = chute > numero_secreto menor = chute < numero_secreto
if (acertou):print('Você acertou!') breakelif (maior):
print('Você errou! O seu chute foi maior que o número secreto') elif (menor):print('Você errou! O seu chute foi menor que o número secreto')print('Fim do jogo!')- É importante saber que o for não é obrigado a ter parênteses. Podemos testar e ver que o programa dá apenas 2 tentativas. Isso porque, como foi falado anteriormente, o segundo parâmetro da função range não é inclusivo, no caso do nosso jogo, range(1,3) irá gerar a série 1 e 2 somente. Portanto, vamos somar 1 ao total_de_tentativas dentro da função range:
for rodada in range(1, total_de_tentativas + 1):-
Teste novamente o jogo e veja que tudo está funcionando perfeitamente!
-
(opcional) Crie um nível de dificuldade para o jogo. Crie uma variável chamada nível e peça para o usuário escolher em qual nível ele deseja jogar. O nível é mensurável de acordo com o total de tentativas: nível 1(tentativas = 20), nível 2(tentativas = 10) e nível 3 (tentativas = 5).
-
(opcional) Acrescente um total de pontos ao jogador que deve iniciar com 1000 e a cada chute errado deve ser subtraído do total de pontos um valor que corresponde a diferença entre o chute e o número secreto. Para este exercício você vai precisar da função abs() . Veja na documentação do Python como ela funciona.
CAPÍTULO 4