大家好,我有一个问题,从我的班级,要求我创建一个笑脸使用seroperate功能的眼睛,嘴和头部。在那之后,他们希望我们画10次它彼此轻轻地重叠,并且每重复一次让它向左倾斜10次。我知道怎么做for循环,问题是倾斜。下面是我目前所拥有的。你能给我指一下倾斜的正确方向吗?在
import turtle
s=turtle.Screen()
p=turtle.Turtle()
def happymouth(p,x,y):
p.setheading(-60)
jump(p,x-60.62,y+65)
p.circle(70,120)
def eyes(p,x,y):
jump(p,x+35,y+120)
p.dot(25)
jump(p,x-35,y+120)
p.dot(25)
def jump(p,x,y):
p.up()
p.goto(x,y)
p.down()
def emoticon(p,x,y):
p=turtle.Turtle()
s=turtle.Screen()
p.pensize(3)
p.setheading(0)
jump(p,x,y)
p.circle(100)
eyes(p,x,y)
happymouth(p,x,y)
jump(p,x,y)
你可以这样做,但这需要你重新思考你的绘图逻辑。要使表情符号在10度旋转下保持不变,绘制表情符号时海龟的位置必须全部是相对的,而不是绝对的。否
turtle.goto()
,否jump(turtle, x, y)
。然后,为了使你的十个表情在页面上合适,你需要使大小也相对,而不是绝对。下面是一个重做的方法:上面的代码没有优化到绘图时,它总是返回到中心,以确保每个组件都是相对于它绘制的。但基本上是有效的:
有一种完全不同的方法可以解决这个问题,它允许我们使用绝对
^{pr2}$turtle.goto()
,但也有其自身的困难。我们可以将海龟本身设置为一个表情符号,并在页面上标记它。这也允许我们忽略相对大小,因为turtle光标有自己的大小调整功能:不幸的是,使用
turtle.*_poly()
完成的图章只能由闭合多边形组成,这意味着表情符号的微笑会有所变化:玩得开心!在
相关问题 更多 >
编程相关推荐