Gráficos: el módulo turtle - Soluciones (3)

Se ofrecen a continuación unas posibles soluciones de los ejercicios (3) del módulo turtle.

turtle (3) - 1 - Cuadrado de puntos

Turtle (3) 1 1B
from turtle import *

setup(420, 420, 0, 0)
title("www.mclibre.org")
hideturtle()
penup()

lado = int(numinput("Módulo turtle", "Tamaño del cuadrado (1-20): ", 10, 1, 20))

screensize(lado*2*20 + 30, 300)

penup()
for i in range(lado):
    for j in range(lado):
        goto(20 * i, 20 * j)
        dot(5, "black")

exitonclick()
Turtle (3) 1 2C
from turtle import *

setup(420, 420, 0, 0)
title("www.mclibre.org")
hideturtle()
penup()

lado = int(numinput("Módulo turtle", "Tamaño del cuadrado (1-20): ", 10, 1, 20))
grosor = int(numinput("Módulo turtle", "Grosor del punto (3-20): ", 10, 3, 20))

screensize(lado*2*20 + 30, lado*2*20 + 30)

penup()
for i in range(lado):
    for j in range(lado):
        goto(20 * i, 20 * j)
        dot(grosor, "black")

exitonclick()
Turtle (3) 1 3D
from turtle import *

setup(420, 420, 0, 0)
title("www.mclibre.org")
hideturtle()
penup()

lado = int(numinput("Módulo turtle", "Tamaño del cuadrado (1-20): ", 10, 1, 20))
grosor = int(numinput("Módulo turtle", "Grosor del punto (3-20): ", 10, 3, 20))
separaMin = grosor * 2
separaMax = grosor * 6
separa = int(numinput("Módulo turtle", f"Separación entre puntos ({separaMin}-{separaMax}): ",
                      grosor * 4 , separaMin, separaMax))

screensize(2*lado*separa + 30, 2*lado*separa + 30)

penup()
for i in range(lado):
    for j in range(lado):
        goto(separa * i, separa * j)
        dot(grosor, "black")

exitonclick()
Turtle (3) 1 4E
from turtle import *

setup(420, 420, 0, 0)
title("www.mclibre.org")
hideturtle()
penup()

nx = int(numinput("Módulo turtle", "Número de puntos en horizontal (1-20): ", 10, 1, 20))
ny = int(numinput("Módulo turtle", "Número de puntos en vertical (1-20): ", 10, 1, 20))
grosor = int(numinput("Módulo turtle", "Grosor del punto (3-20): ", 10, 3, 20))
separaMin = grosor * 2
separaMax = grosor * 6
separa = int(numinput("Módulo turtle", f"Separación entre puntos ({separaMin}-{separaMax}): ",
                      grosor * 4 , separaMin, separaMax))

screensize(2*nx*separa + 30, 2*ny*separa + 30)

penup()
for i in range(nx):
    for j in range(ny):
        goto(separa * i, separa * j)
        dot(grosor, "black")

exitonclick()

turtle (3) - 2 - Trama de cuadrados

Turtle (2) 2 1C
from turtle import *

setup(450, 200, 0, 0)
screensize(300, 150)
title("www.mclibre.org")
hideturtle()

lado = int(numinput("Módulo turtle", "Tamaño del cuadrado (10-100): ", 50, 10, 100))
n = int(numinput("Módulo turtle", "Número de cuadrados (1-20)", 5, 1, 20))

screensize(lado * n * 2 * 2, 150)

for i in range(n):
    origen = 2 * lado * i
    goto(origen, 0)
    pendown()
    begin_fill()
    goto(origen + lado, 0)
    goto(origen + lado, lado)
    goto(origen, lado)
    goto(origen, 0)
    end_fill()
    penup()

exitonclick()
Turtle (3) 2 2D
from turtle import *

setup(450, 200, 0, 0)
screensize(300, 150)
title("www.mclibre.org")
hideturtle()

lado = int(numinput("Módulo turtle", "Tamaño del cuadrado (10-100): ", 50, 10, 100))
nx = int(numinput("Módulo turtle", "Número de cuadrados en horizontal (1-20)", 5, 1, 20))
ny = int(numinput("Módulo turtle", "Número de cuadrados en vertical (1-20)", 5, 1, 20))

screensize(lado * nx * 2 * 2, lado * ny * 2 * 2)

for i in range(ny):
    for j in range(nx):
        origenX = 2 * lado * j
        origenY = 2 * lado * i
        goto(origenX, origenY)
        pendown()
        begin_fill()
        goto(origenX + lado, origenY)
        goto(origenX + lado, origenY + lado)
        goto(origenX, origenY + lado)
        goto(origenX, origenY)
        end_fill()
        penup()

exitonclick()
Turtle (3) 2 3E
from turtle import *

setup(450, 200, 0, 0)
screensize(300, 150)
title("www.mclibre.org")
hideturtle()

lado = int(numinput("Módulo turtle", "Tamaño del cuadrado (10-100): ", 50, 10, 100))
separacion = int(numinput("Módulo turtle", "Separación entre cuadros (2-100): ", 30, 2, 100))
nx = int(numinput("Módulo turtle", "Número de cuadrados en horizontal (1-20)", 5, 1, 20))
ny = int(numinput("Módulo turtle", "Número de cuadrados en vertical (1-20)", 5, 1, 20))

screensize((lado+separacion) * nx * 2, (lado+separacion) * ny * 2)

for i in range(ny):
    for j in range(nx):
        origenX = (lado+separacion) * j
        origenY = (lado+separacion) * i
        goto(origenX, origenY)
        pendown()
        begin_fill()
        goto(origenX + lado, origenY)
        goto(origenX + lado, origenY + lado)
        goto(origenX, origenY + lado)
        goto(origenX, origenY)
        end_fill()
        penup()

exitonclick()
Turtle (3) 2 5E
from turtle import *

setup(450, 200, 0, 0)
screensize(300, 150)
title("www.mclibre.org")
hideturtle()

lado = int(numinput("Módulo turtle", "Tamaño del cuadrado (10-100): ", 50, 10, 100))
separacion = int(numinput("Módulo turtle", "Separación entre cuadros (2-100): ", 30, 2, 100))
nx = int(numinput("Módulo turtle", "Número de cuadrados en horizontal (1-20)", 5, 1, 20))
ny = int(numinput("Módulo turtle", "Número de cuadrados en vertical (1-20)", 5, 1, 20))

screensize((lado+separacion) * nx * 2, (lado+separacion) * ny * 2)

for i in range(ny):
    for j in range(nx):
        origenX = (lado+separacion) * j
        origenY = (lado+separacion) * i
        goto(origenX, origenY)
        pendown()
        begin_fill()
        goto(origenX + lado, origenY)
        goto(origenX + lado, origenY + lado)
        goto(origenX, origenY + lado)
        goto(origenX, origenY)
        end_fill()
        penup()

for i in range(ny - 1):
    for j in range(nx - 1):
        origenX = (lado+separacion) * j + lado
        origenY = (lado+separacion) * i + lado
        goto(origenX, origenY)
        pendown()
        begin_fill()
        goto(origenX + separacion, origenY)
        goto(origenX + separacion, origenY + separacion)
        goto(origenX, origenY + separacion)
        goto(origenX, origenY)
        end_fill()
        penup()

exitonclick()
Turtle (3) 2 6E
from turtle import *

setup(450, 200, 0, 0)
screensize(300, 150)
title("www.mclibre.org")
hideturtle()

lado = int(numinput("Módulo turtle", "Tamaño del cuadrado (10-100): ", 50, 10, 100))
separacion = int(numinput("Módulo turtle", "Separación entre cuadros (2-100): ", 30, 2, 100))
nx = int(numinput("Módulo turtle", "Número de cuadrados en horizontal (1-20)", 5, 1, 20))
ny = int(numinput("Módulo turtle", "Número de cuadrados en vertical (1-20)", 5, 1, 20))

screensize((lado+separacion) * nx * 2, (lado+separacion) * ny * 2)

begin_fill()
goto((lado+separacion) * nx - separacion, 0)
goto((lado+separacion) * nx - separacion, (lado+separacion) * ny - separacion)
goto(0, (lado+separacion) * ny - separacion)
goto(0, 0)
end_fill()

pencolor("white")
fillcolor("white")
for i in range(ny):
    for j in range(nx):
        origenX = (lado+separacion) * j
        origenY = (lado+separacion) * i
        goto(origenX, origenY)
        pendown()
        begin_fill()
        goto(origenX + lado, origenY)
        goto(origenX + lado, origenY + lado)
        goto(origenX, origenY + lado)
        goto(origenX, origenY)
        end_fill()
        penup()

for i in range(ny - 1):
    for j in range(nx - 1):
        origenX = (lado+separacion) * j + lado
        origenY = (lado+separacion) * i + lado
        goto(origenX, origenY)
        pendown()
        begin_fill()
        goto(origenX + separacion, origenY)
        goto(origenX + separacion, origenY + separacion)
        goto(origenX, origenY + separacion)
        goto(origenX, origenY)
        end_fill()
        penup()

exitonclick()

turtle (3) - 3 - Tramas

Turtle (3) 3 1D
from turtle import *

setup(450, 200, 0, 0)
screensize(300, 150)
title("www.mclibre.org")
hideturtle()

lado = int(numinput("Módulo turtle", "Tamaño del triángulo (10-100): ", 50, 10, 100))
nx = int(numinput("Módulo turtle", "Número de triángulos en horizontal (1-20)", 5, 1, 20))
ny = int(numinput("Módulo turtle", "Número de triángulos en vertical (1-20)", 5, 1, 20))

screensize(lado * nx * 2, lado * ny * 2)

for i in range(ny):
    for j in range(nx):
        origenX = lado * j
        origenY = lado * i
        goto(origenX, origenY)
        pendown()
        begin_fill()
        goto(origenX + lado, origenY)
        goto(origenX, origenY + lado)
        goto(origenX, origenY)
        end_fill()
        penup()

exitonclick()
Turtle (3) 3 2D
from turtle import *

setup(450, 200, 0, 0)
screensize(300, 150)
title("www.mclibre.org")
hideturtle()

lado = int(numinput("Módulo turtle", "Tamaño del molinillo (10-100): ", 50, 10, 100))
nx = int(numinput("Módulo turtle", "Número de molinillos en horizontal (1-20)", 5, 1, 20))
ny = int(numinput("Módulo turtle", "Número de molinillos en vertical (1-20)", 5, 1, 20))

screensize(lado * nx * 2, lado * ny * 2)

for i in range(ny):
    for j in range(nx):
        origenX = lado * j
        origenY = lado * i
        goto(origenX, origenY)
        pendown()
        begin_fill()
        goto(origenX, origenY + lado//2)
        goto(origenX + lado, origenY + lado//2)
        goto(origenX + lado, origenY + lado)
        goto(origenX, origenY)
        end_fill()
        penup()
        goto(origenX, origenY + lado)
        pendown()
        begin_fill()
        goto(origenX + lado//2, origenY + lado)
        goto(origenX + lado // 2, origenY)
        goto(origenX + lado, origenY)
        goto(origenX, origenY + lado)
        end_fill()
        penup()

exitonclick()

En construcciónPor completar ...

turtle (3) - 4 - Tramas

En construcciónPor completar ...