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()
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()