for x in range(1,5):
print(x)
x = 10
Por que que quando eu rodo isso a saída é 1,2,3,4 e não apenas 1 ????
for x in range(1,5):
print(x)
x = 10
Por que que quando eu rodo isso a saída é 1,2,3,4 e não apenas 1 ????
Oi Gabriel, tudo bem ?
Isto acontece porque quando chamamos a função range
ela irá nos gerar uma sequência que deve ser iterada dentro daquele intervalo, e esta sequência é imutável. No caso do seu código, ela irá gerar uma sequência de 1 a 4, sendo assim, nada que você faça dentro deste loop irá alterar esta sequência, pois, como dito, a mesma é imutável.
Quando queremos alterar um valor dinamicamente dentro de um loop é interessante que trabalhemos com o laço while
, pois ele não tem esta restrição. Por exemplo:
x = 1
while(x < 5):
print(x)
x = 10
x+=1
Mas é importante ressaltar que podemos parar um loop a qualquer momento usando o break
, então, no caso do seu código, poderíamos fazer:
for x in range(1,5):
print(x)
x = 10
break
Pegou a ideia?
Qualquer dúvida estou a disposição. Espero ter ajudado. Bons estudos!!!