我正在使用循环来解决python 2.7中的乌龟导入问题并且乌龟不会移动

时间:2017-11-04 00:57:16

标签: python python-2.7 turtle-graphics

我正在使用循环来解决python 2.7中的乌龟导入问题,我只看到屏幕闪烁并退出程序。 这是我的代码:

/\d{2}(:\d{2}(:\d{2})?)?/.match('10').to_a.compact

这只是我试图为我的孩子制作一些很酷的东西,并让他在早年就像我希望的那样对编程感兴趣。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

对我来说代码运行正常。唯一的问题是在你的for循环中你试图用第11行中的float循环。你需要使用一个整数。你可以投整它。那应该解决它。希望这会有所帮助。

编辑:代码的另一个问题是     window.exitonclick()

删除或注释

答案 1 :(得分:0)

这是在Python 2和Python 3上运行的代码的略微修改版本。

import turtle

colors = ["red", "orange", "yellow", "green", "blue", "purple"]
dColors = dict(enumerate(colors))

def circleOfShapes(aTurtle):
    edges = 3
    radius = 100
    for i in range(5):
        for k in range(360 // 5):
            aTurtle.color(dColors.get(i))
            aTurtle.circle(radius, None, edges)
            aTurtle.right(5)
        edges += 1
        radius -= 10

turt = turtle.Turtle()
turt.shape("arrow")
#turt.hideturtle()
#turt.speed(0)

window = turtle.Screen()
window.bgcolor("white")

circleOfShapes(turt)
window.exitonclick()

您可以通过取消评论#turt.hideturtle() #turt.speed(0)

中的一个或两个来加快速度

我将内部range调用中的除法更改为360 // 5,以确保它返回一个整数。这使代码与Python 2和Python 3更兼容。

在Python 2中,/除法运算符将返回int,如果其操作数均为int,则在Python 3中它将始终返回float。因此,当您需要int商时,最好使用//分区运算符。

Python 2 range将接受float arg,但它会给出弃用警告。在Python 3中,它只会引发错误。