Dúvida rápida! Por que no for rodada in range tem o +1 no final do parenteses? Eu entendi que serve para passar para a próxima rodada, mas porque ele fica ali, alguém consegue clarear essa parte? Obrigado!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Dúvida rápida! Por que no for rodada in range tem o +1 no final do parenteses? Eu entendi que serve para passar para a próxima rodada, mas porque ele fica ali, alguém consegue clarear essa parte? Obrigado!
Olá Natan, tudo bem com você?
A função range() pode receber até três parâmetros, abaixo a sintaxe dela.
range(start, stop, step)
Sendo:
Observação: A vírgula é responsável por separar os parâmetros, é através dela que o interpretador saberá como agir por baixo dos panos.
Exemplo de código
for numero in range(0, 10, 1):
print(numero)
Resultado
0
1
2
3
4
5
6
7
8
9Note que com o código fornecido, foi criado um intervalo de 1 a 1 (step) iniciando do 0 (start) e finalizando em 10 (stop), mas o 10 é exclusivo, o intervalo para antes, assim será impresso os números de 1 a 9.
Sabendo dessas informações, no código da aula temos:
range(1, total_de_tentativas + 1)
Onde:
Como a proposta do jogo é que o jogador jogue a quantidade de vez definida pelo valor salvo na variável total_de_tentativas, temos que adicionar +1 no seu valor para compensar a exclusividade do ponto final do intervalo, se não adicionarmos esse valor o jogador sempre terá uma tentativa a menos.
Em resumo, o +1 tem como objetivo compensar a exclusividade do ponto final do intervalo.
Para saber um pouco mais sobre a função range(), recomendo a leitura do seguinte artigo:
O artigo está em inglês, caso tenha dificuldades com o idioma recomendo o uso do tradutor do navegador.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.
Muito obrigado! Neste caso, se não tivéssemos a varíavel total_de_tentativas bastaria colocar o número 4, certo? Creio que a variável serve apenas para deixar o código mais compreensível.