Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Explanação de uma condição dentro do for

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeDú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!

2 respostas
solução!

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:

  • Start: Valor inicial do intervalo, é um valor do tipo inclusivo ou seja, o valor fornecido será considerado no momento da formação do intervalo, caso não seja informado será considerado o valor padrão zero (0).
  • Stop: Valor final do intervalo, é um valor do tipo exclusico ou seja, o intervalo termina antes do valor fornecido, é o único parâmetro obrigatório.
  • Step: Valor do incremento(do passo), de quando em quanto que o intervalo será criado, se não informado será considerado o valor um (1).

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
9

Note 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:

  • 1: Corresponde ao início (start) do intervalo.
  • total_de_tentativas + 1: Corresponde ao final (stop) do intervalo.

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.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. 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.