Python 用Transcrypt画一棵树

Python 用Transcrypt画一棵树,python,transcrypt,Python,Transcrypt,今天我想用Transcrypt在浏览器中绘制一棵树。 我有Python代码,它在Skulpt中工作: import random import turtle def tree(size, myTurtle): myTurtle.pensize(size / 20) if size < random.randint(1,2) * 20: myTurtle.color("green") else: myTurtle.color("br

今天我想用Transcrypt在浏览器中绘制一棵树。 我有Python代码,它在Skulpt中工作:

import random
import turtle

def tree(size, myTurtle):
    myTurtle.pensize(size / 20)

    if size < random.randint(1,2) * 20:
        myTurtle.color("green")
    else:
        myTurtle.color("brown")

    if size > 5:
        myTurtle.forward(size)
        myTurtle.left(25)
        tree(size - random.randint(10, 20), myTurtle)
        myTurtle.right(50)
        tree(size - random.randint(10, 20), myTurtle)
        myTurtle.left(25)
        myTurtle.penup()
        myTurtle.backward(size)
        myTurtle.pendown()

window = turtle.Screen()
window.setup(800,600)
window.bgcolor("white")

myTurtle = turtle.Turtle()
myTurtle.color("brown", "blue")
myTurtle.left(90)
myTurtle.speed(0)
myTurtle.penup()
myTurtle.setpos(0, -250)
myTurtle.pendown()
随机导入
进口海龟
def树(大小,myTurtle):
myTurtle.pensize(尺码/20)
如果尺寸5:
myTurtle.前进(尺寸)
我的乌龟。左(25)
树(大小-随机。随机数(10,20),myTurtle)
我的乌龟。对(50)
树(大小-随机。随机数(10,20),myTurtle)
我的乌龟。左(25)
我的乌龟
乌龟。向后(大小)
我的乌龟
window=turtle.Screen()
窗口设置(800600)
窗口颜色(“白色”)
myTurtle=海龟。海龟()
乌龟。颜色(“棕色”、“蓝色”)
我的乌龟。左(90)
我的乌龟。速度(0)
我的乌龟
myTurtle.setpos(0,-250)
我的乌龟
我想在浏览器中运行它以获得此效果:

​不要担心树上的文字,它是波兰语;) 我在Skulpt中运行这个,也许你们听说了,你们有上面的效果。 现在我想在Transcrypt中运行它,并将其与Skulpt和Brython进行比较

正如你在这里看到的:

Transcrypt可以用海龟画画

使用Transcrypt时,此代码有什么变化


您能帮我做一下吗?

首先:您需要对代码进行一些修改,因为
Transcrypt
中的某些函数有不同的名称或不存在。您必须添加
turtle.done()
以显示结果

海龟树.py

import random
import turtle

def tree(size, myTurtle):
    myTurtle.pensize(size / 20)

    if size < random.randint(1,2) * 20:
        myTurtle.color("green")
    else:
        myTurtle.color("brown")

    if size > 5:
        myTurtle.forward(size)
        myTurtle.left(25)
        tree(size - random.randint(10, 20), myTurtle)
        myTurtle.right(50)
        tree(size - random.randint(10, 20), myTurtle)
        myTurtle.left(25)
        myTurtle.up()       # penup()
        myTurtle.back(size) # backward(size)
        myTurtle.down()     # pendown()

#window = turtle.Screen()   # doesn't exists
#window.setup(800,600)      # doesn't exists
#window.bgcolor("white")    # doesn't exists

myTurtle = turtle.Turtle()
myTurtle.color("brown", "blue")
myTurtle.left(90)
myTurtle.speed(0)
myTurtle.up()         # penup()
myTurtle.goto(0, 250) # setpos(0, -250)     
myTurtle.down()       # pendown()

tree(135, myTurtle)

myTurtle.done() # display 
将Python编译成JavaScript

transcrypt turtle_tree.py
您可以通过文件
turtle\u tree.js
(和
turtle\u tree.min.js
turtle\u tree.mod.js
获得文件夹
,但您现在不需要它)

您需要一个HTML文件,该文件加载
turtle\u tree.js
,并具有
以显示结果

海龟树.html

<!DOCTYPE html>

<html>

<head>
    <meta charset="utf-8"/>
    <title>Turtle Tree</title>

    <style>
        #__turtlegraph__ {
            height: 600px;
            width: 800px;
        }
    </style>
</head>

<body>

    <div id="__turtlegraph__"></div>
    <script src='turtle_tree.js'></script>

</body>

</html>

乌龟树
#__套头衫{
高度:600px;
宽度:800px;
}
将HTML文件放入
\uuuu javascript\uuuu
文件夹中,并在浏览器中打开它


在Python3.5.2/LinuxMint17.3/Firefox48.0上测试-它只需1秒(或更短时间)


Spróbujęcośpokombinowaći dam Ci znać(mam nadziejęe zaraz)。“编译并运行”在地址“”上发送代码,但收到的响应是“404页不存在”(PL:cośim nie działa)您似乎可以使用
pip
安装Transcrypt,然后阅读如何生成可以在浏览器中运行的HTML页面。我也无法通过网站上的“编译并运行”来运行它。仅供参考:“编译并运行”在移植到新Transcrypt网站时被破坏,并且已修复。然而,使用Transcrypt的正常方法是在本地安装它,如furas所示。它是一个编译器,将在您的项目的_javascript__;子目录中生成一个.js。有关如何将其连接到HTML的示例,请参阅。Transcrypt在本地而不是在浏览器中编译的原因是为了获得精简、快速的页面Jacques de HoogeHi,我感兴趣的是Transcrypt的Turtle模块中最缺少哪些函数,因此可以添加它们。编译到JS时出现错误。transcrypt turtle_tree.py应该是“transcrypt”@Monica你是对的-我一直在
transcrypt中写
script
)@jacquesdhooge我不知道-我第一次用transcrypt。可能所有的别名都像
backward
用于
back
penup
用于
up
谢谢,我将在下一版本中添加这些别名。
<!DOCTYPE html>

<html>

<head>
    <meta charset="utf-8"/>
    <title>Turtle Tree</title>

    <style>
        #__turtlegraph__ {
            height: 600px;
            width: 800px;
        }
    </style>
</head>

<body>

    <div id="__turtlegraph__"></div>
    <script src='turtle_tree.js'></script>

</body>

</html>