Como aninhar loops for em Python

Python turtle cursor movements.

Quando inserimos um loop (ou laço) dentro de outro loop, podemos dizer que este segundo está “aninhado” no primeiro.

É possível aninhar vários laços for, no Python.

Vou mostrar alguns exemplos, usando a biblioteca turtle do Python. Se você ainda não sabe o que é, por favor, leia este texto.

Dentro da shell do Python 3, digite o seguinte código:

for i in range(10):
  turtle.right(45)
  turtle.forward(100)
  # abaixo segue o segundo loop for
  # note a indentação 
  for minhascores in "yellow", "orange", "red", "pink", "magenta", "blue", "cyan":
    turtle.left(360)
    turtle.forward(5)
    turtle.color(minhascores)
Na minha tela, a tartaruga andou girando um bocado. Procure, você também, alterar o código e fazer várias experiências.

Experimente, aninhar o seu próprio código ( o seu próprio loop), dentro do segundo laço.

Se quiser ver outros exemplos de uso da tartaruga, clique na tag turtle.

Construa polígonos com a tartaruga no Python 3

Os exercícios, envolvendo a biblioteca turtle (tartaruga) são uma excelente maneira de obter intimidade com a linguagem.

Neste texto, vou entrar no assunto direto, sem qualquer introdução. Caso você não saiba de que “tartaruga” estou falando, leia este texto antes e clique nas tags turtle para ler uma série de outros textos, que fazem uso desta incrível biblioteca gráfica.

Vamos começar pela importação da biblioteca e, em seguida, fazer os primeiros ajustes da tela e do cursor, para a gente tem um ambiente mais interessante para brincar.

import turtle
turtle.bgcolor("black")
turtle.color("green")
turtle.shapesize(2)
turtle.shape("turtle")
Importação da biblioteca turtle, na shell do Python 3 e alguns ajustes iniciais.

Feito isso, vamos movimentar a tartaruga pela tela, usando os métodos forward (para andar para frente) e left (para girar alguns graus à esquerda).

turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)

Simples, não é?

Comandos para mover a tartaruga, formando um quadrado na tela.
A cada comando, a tartaruga gira 90 graus e percorre 100 pixels, formando um quadrado na tela.

Experimente formar outros polígonos ou objetos com outros formatos na tela, alterando os comandos dados anteriormente.

Em vez de left, experimente usar right (direita).

As cores da tartaruga

Você pode usar uma gama limitada de cores para a tartaruga, através de seus nomes, em inglês: pink, green, red etc.

for mycolor in "yellow", "cyan", "pink":
  turtle.color(mycolor)
  turtle.right(45)
  turtle.forward(100)

Faça as suas próprias experiências.

Como controlar um loop no Python com a função range()

A função range() retorna uma sequencia de números começando do 0, por padrão e vai incrementando (um a um) e para antes de chegar ao número especificado.

Por exemplo, em range(5), teremos os seguintes números (sempre em ordem ascendente): 0, 1, 2, 3 e 4.

Faça um experiência, dentro da shell do Python:

for i in range (5):
  print(i)

0
1
2
3
4

A função também aceita outros parâmetros. Atualmente, a sintaxe dela inclui 3:

range(start, stop, step)

Em que start é onde começa a contagem; stop é aonde termina e step é o incremento. Para contar de 3 a 12, com um incremento de 2 números, eu posso fazer o seguinte:

for i in range(3,12,2):
  print(i)

3
5
7
9
11

Faça uma experiência, usando biblioteca turtle, do Python:

import turtle
for i in range(1, 50, 2):
  turtle.left(i*3)
  turtle.forward(i*3)

Leia mais sobre a biblioteca turtle.

Aprenda a fazer loops for em Python, com um exemplo simples, usando Turtle

Python turtle cursor movements.

A biblioteca turtle, no Python, foi projetada para tornar o aprendizado mais divertido e fácil.

Um loop pode ser exemplificado rapidamente, com o uso da biblioteca.

Para começar, entre na shell do Python:

python3

De dentro da shell, traga a biblioteca turtle, para trabalhar com as suas funções:

import turtle

Eu sugiro os seguintes comandos para ajustar a janelinha da tartaruga, antes de começar a fazer qualquer coisa:

# Alterar o fundo da janela para preto
turtle.bgcolor("black")
# Alterar a cor do cursor
turtle.color("green")
# Alterar o formato do cursor para a tartaruga
turtle.shape("turtle")
# Alterar o tamanho da tartaruga
turtle.shapesize(3)

Você pode usar tamanhos float para shapesize, como 2.5 ou 1.7, se estiver satisfeito com o exemplo acima.

Experimente também usar outros valores para bgcolor e color. Use nomes de cores em inglês.

Como fazer um loop for em Python

Um das forma mais simples de fazer um loop ou um laço em Python é usar o tradicional for. Experimente o seguinte código:

for i in range(6):
   turtle.forward(100)
   turtle.right(300)S

Se tudo correu bem, pra você, a tartaruguinha deve ter desenhado um hexágono na tela.

Vamos entender as 3 linhas do código acima?

  1. estabelece que a variável i varia entre de 0 a 6. A função range() retorna uma sequencia ascendente de números, começando por 0 e para antes de chegar ao 6. Portanto, ela retorna os números 0, 1, 2, 3, 4 e 5.
  2. O segundo comando faz a tartaruga andar para frente (forward) 100 pixels.
  3. O terceiro comando diz para a tartaruga rotacionar 300 graus para a direita (right).

Tente fazer um hexágono menor ou maior. Tente também rotacionar para a esquerda (left).

Em vez de usar um “contador” numérico, você definir exatamente quais valores deseja dar a sua variável controlador do loop.

Por exemplo, que tal fazer um laço alterando as cores da tartaruga?

Experimente o código abaixo:

for mycolor in "yellow", "orange", "red", "magenta", "pink", "cyan", "blue":
  turtle.right(45)
  turtle.forward(100)
  turtle.color(mycolor)
A minha tela está ficando cada vez mais bagunçada. Use turtle.reset(), se quiser “resetar” o seu quadro.

A partir daqui, faça as suas próprias mudanças no código e, se quiser, compartilhe as suas descobertas nos comentários.

Variáveis no Python

As variáveis são parte importante no desenvolvimento de qualquer programa. São contêineres ou depósitos para armazenar valores.

Em algumas linguagens de programação, é necessário declarar as variáveis, antes de começar a usar. No Python, não.

Assim que você der um valor a ela, a variável já estará criada, de acordo com o valor dado.

Experimente criar algumas variáveis na shell do Python:

nome = "Elias"
pagina = "50"

Para ver o valor da variável, você pode usar a função print()

print(nome)
print(pagina)

Neste texto, faço uso de um pacote do Python 3, que pode não estar instalado no seu computador. Por favor, leia este post, para resolver a mensagem de erro “No module named ‘tkinter’“.

Se tudo estiver ok, você pode importar o módulo turtle:

import turtle

A função turtle, aceita uma série de parâmetros/métodos, para ditar o comportamento de uma “tartaruga”, que se move dentro de um quadro/janela, criado pela biblioteca tkinter.

Por padrão, o cursor tem o formato de uma seta e não de uma tartaruga. Mas você pode usar uma variável para alterar o seu formato (shape):

Para dar um exemplo, vamos usar uma variável, de nome “forma” para informar ao interpretador Python sobre qual a forma que desejamos que o cursor do tk tenha. Vamos também usar uma variável “tamanho” para redimensionar o cursor. Veja:

forma = "turtle"
tamanho = 3
turtle.shape(forma)
turtle.shapesize(tamanho)

O método shape, aceita outros valores para a sua variável, como “circle” ou “square”. Experimente:

turtle.shape("circle")
turtle.shape("square")

O método shapesize também aceita diversos valores. Experimente e escolha o que mais se adéqua a você.

Use a tartaruga (turtle) do Python para brincar e aprender a programar

Python turtle cursor movements.

Se você puder se divertir e rir um pouco, o processo de aprendizado pode se tornar mais fácil e bem mais agradável.
O Python oferece uma biblioteca baseada na antiga linguagem LOGO (lá dos anos 60), que exibe uma tela com uma pequena tartaruga, que se movimenta de acordo com os comandos dados na shell.
Você vai precisar instalar o pacote python3-tk. No Debian 11 (Bullseye), isso já vem instalado por padrão.

Se obtiver uma mensagem semelhante a “no module named _tkinter”, faça a instalação do pacote python3-tk.

Abra uma shell Python e importe o “módulo da tartaruguinha”:

import turtle

Depois disso, a brincadeira já pode começar. Por exemplo, para fazer a tartaruga “caminhar” 10 pixels “para frente”, use o método forward.

turtle.forward(10)

 

Para caminhar 20 pixels para trás, use backward:

turtle.backward(20)

Para virar a “tartaruga” 90 graus para a esquerda (left), use o seguinte método:

turtle.left(90)

E, assim, é possível seguir em outra direção.

Mas, peraí… cadê a tartaruga??!!

Ótima pergunta! O formato padrão do cursor “turtle” é uma seta e não uma tartaruga. Mas isso pode ser resolvido facilmente, com o método shape:

turtle.shape("turtle")

Feliz, agora? Ou quer uma tartaruga maior?

Para aumentar o tamanho do cursor, use o método shapesize:

turtle.shapesize(3)
python turtle tkinter
Como movimentar a tartaruga turtle-tk no Python 3.

Daqui pra frente, é fácil encontrar outros métodos para interagir com a tartaruga, usando o sistema de ajuda da própria shell do Python:

help(turtle)

Outra forma de obter ajuda é digitar “turtle. ” e teclar TAB, para a shell exibir as opções de métodos disponíveis para uso.

Um pouco de história

O turtle graphics foi uma maneira muito popular usada para introduzir a programação para crianças e pré-adolescentes em meados dos anos 60.

Era parte da linguagem original LOGO, desenvolvida por Wally Feurzig e Seymour Papert (1966), para ensinar lógica de programação nas escolas.