如何在 Python 乌龟上皱眉?

How to make a frowning face on Python Turtle?

我需要在python中做一个皱眉的龟脸,但是我做不到像皱眉这样的半圆弧,它太大或不完整。

import turtle
t = turtle.Turtle(2)
t.speed(5)
t.forward(120)
t.left(105)
t.forward(130)
t.right(90)
t.forward(25)
t.right(80)
t.forward(140)
t.left(65)
t.forward(100)
t.right(30)
t.forward(30)
t.right(30)
t.forward(30)
t.right(70)
t.forward(30)
t.right(30)
t.forward(30)
t.right (20)
t.forward(80)
t.left(65)
t.forward(130)
t.right(90)
t.forward(25)
t.right(80)
t.forward(110)
t.left (105)
t.forward (160)
t.left(65)
t.forward(50)
t.right(90)
t.forward(25)
t.right(80)
t.forward(60)
t.left (105)
t.right(65)
t.forward(70)
t.right(90)
t.forward(25)
t.right(80)
t.forward(32)
t.left (55)
t.forward(60)
t.penup()
t.right(90)
t.forward(20)
t.pendown()
r = 15
t.circle(r)
t.penup()
t.left(90)
t.forward(10)
t.left(90)
t.forward(5)
t.pendown()
r = 2
t.circle(r)
t.penup()
t.right(90)
t.forward(10)
t.pendown()
r = 2
t.circle(r)
t.penup()
t.forward(5)
t.right(90)
t.forward(15)
t.pendown()
for x in range(180):
    t.forward(1)
    t.right(1)
t.left(90)

到目前为止,这是我的代码

我们可以再次使用 circle() 方法来绘制皱眉,而不是使用显式循环。在这种情况下,我们需要添加可选的 extent 参数,并了解使用正负半径和范围对 circle().

的作用

下面是我的示例解决方案,我将您最初的飞机绘图扔掉了,只是为了专注于脸部:

import turtle

t = turtle.Turtle()

# head
r = 15
t.right(90)
t.circle(r)

r = 2

# right eye
t.penup()
t.left(90)
t.forward(10)
t.left(90)
t.forward(5)
t.pendown()
t.circle(r)

# left eye
t.penup()
t.right(90)
t.forward(10)
t.right(90)
t.pendown()
t.circle(r)

# frown
r = 5
t.penup()
t.left(90)
t.backward(5)
t.right(90)
t.forward(10)
t.left(90)
t.circle(-r, 60)
t.pendown()
t.circle(-r, -120)

t.hideturtle()
turtle.done()

您可以使用turtle.circle(半径,弧度)来制作semi-circle。 例如:

turtle.circle(50 , 180)

这将形成一个半径为 50 像素的半圆。您可以相应地改变乌龟的方向,使弧面朝下。