Turtle for 循环创建图像

Turtle for loop to create image

frame = [
    ",,,,,,,,,,,,,,,,,,,,,,,,,",
    ",,,,,,****,,,,,,,,,*,,,,,",
    ",,,,,*!!!!*,,,,,,,*¤*,,,,",
    ",,,,*!!!!!!*,,,,,,*¤¤*,,,",
    ",,,,*!!!!!!*,,,,,,*¤¤*,,,",
    ",,,*!!!!!!!!*,,,,*¤¤¤¤*,,",
    ",,*!!!!,*!!!*,,,,*¤¤%¤*,,",
    ",,*!!!!**!!!!*,,,*¤%%¤*,,",
    ",,*!!!!**!!!!*,,,,*%**,,,",
    ",,,*!!!!!!!!!!*,,,*!*,,,,",
    ",,,,**!!!!!!!!!*,*!!*,,,,",
    ",,,,,,***!!*!!!**!!*,,,,,",
    ",,,,,,,*%%*!!!!!*!!*,,,,,",
    ",,,,,,,*%%%**!!!*!*,,,,,,",
    ",,,,,,*,*%%%!!!!**,,,,,,,",
    ",,,,,,,***%%!!!**,,,,,,,,",
    ",,,,,,,,,,***!**,,,,,,,,,",
    ",,,,,,,,,,,*,!,*,,,,,,,,,",
    ",,,,,,,,,,,,****,,,,,,,,,",
    ",,,,,,,,,,,,,,,,,,,,,,,,,"
]

colors = {
            ","  :  "white",
            "*"  :  "black",
            "!"  :  "orange",
            "¤"  :  "red",
            "%"  :  "yellow"
}

from mobilechelonian import Turtle
dragon = Turtle()

dragon.speed(10)
for row in frame:
    for symbol in row:
        dragon.pencolor(colors[symbol])
        dragon.forward(1)
    dragon.penup
    dragon.backward(25)
    dragon.right(90)
    dragon.forward(1)
    dragon.left(90)

我在jupyterhub中有这段代码,用来画图。但是我只得到一个白色的小方块。另外,如果有人知道如何重新调整屏幕以显示全尺寸图片,我将不胜感激!

以下替换你的代码(保持代码前的data/variables不变),使用Python自带的turtle模块,并添加缩放:

from turtle import Turtle, Screen
import tkinter as _

_.ROUND = _.BUTT

SCALE = 4

screen = Screen()
width, height = screen.window_width() / SCALE, screen.window_height() / SCALE
screen.setworldcoordinates(-width//2, -height//2, width//2, height//2)

dragon = Turtle(visible=False)
dragon.speed('fastest')
dragon.width(SCALE)

for row in frame:
    dragon.pendown()
    for symbol in row:
        dragon.pencolor(colors[symbol])
        dragon.forward(1)
    dragon.penup()
    dragon.backward(len(row))
    dragon.right(90)
    dragon.forward(1)
    dragon.left(90)

screen.exitonclick()