如何在Turtle中画个笑脸?

1 投票
3 回答
32942 浏览
提问于 2025-04-28 23:25

这是我第一次使用Turtle库。我的作业是画一个笑脸,大小和位置都可以随意。我就是搞不定嘴巴的部分,因为我真的不知道该怎么做。我看了很多资料,我想做的是在画好右边的微笑后,从(0,0)这个点开始,画出它的镜像。谢谢大家的帮助。

import turtle
wn = turtle.Screen()
smiles = turtle.Turtle()

smiles.penup()
smiles.goto(-75,150)
smiles.pendown()
smiles.circle(10)     #eye one

smiles.penup()
smiles.goto(75,150)
smiles.pendown()
smiles.circle(10)     #eye two

smiles.penup()
smiles.goto(0,0)
smiles.pendown()
smiles.circle(100,90)   #right smile

smiles.penup()            #below is where i feel i'm messing up
smiles.goto(0,0)
smiles.pendown()
smiles.circle(-100,90)
暂无标签

3 个回答

0

Turtle在画部分圆的时候,会记住它的方向。你可以插入这一行代码:

smiles.penup()            #below is where i feel i'm messing up
smiles.circle(0, 270)     # New line here
smiles.goto(0,0)
smiles.pendown()
smiles.circle(-100,90)

这样可以让它转身,开始画一个新的圆。

1

这个代码定义了一个叫做“smileyface”的函数。首先,它会抬起画笔,这样就不会在画布上留下痕迹。接着,它移动到坐标(-75, 150)的位置,也就是在画布上的一个特定点。然后,它放下画笔,开始画一个半径为10的圆圈。

penup()
goto(75,150)
pendown()
circle(10)     

penup()
goto(0,0)
pendown()
circle(100,90)   

penup()            
goto(0,0)
pendown()
circle(-100,90)
2

你可以使用 setheading(180) 这个命令让小乌龟朝西看:

import turtle

smiles = turtle.Turtle()    
smiles.penup()
smiles.goto(-75,150)
smiles.pendown()
smiles.circle(10)     #eye one

smiles.penup()
smiles.goto(75,150)
smiles.pendown()
smiles.circle(10)     #eye two

smiles.penup()
smiles.goto(0,0)
smiles.pendown()
smiles.circle(100,90)   #right smile

smiles.penup()           
smiles.setheading(180) # <-- look West
smiles.goto(0,0)
smiles.pendown()
smiles.circle(-100,90)

小乌龟画的笑脸

你可以在网上试试,比如访问 http://www.skulpt.org

撰写回答