Day018|给大爷笑一个
今天是Andy学Python的第18天哦!
大家好,我是Andy。
今天学习了《教孩子学编程》第7章第2节用函数画笑脸。
01.小海龟走路有痕迹
笑脸图如下所示:
import random
import turtle as t
t.bgcolor("black")
t.speed(1)
# 定义笑脸函数
def draw_smiley(x, y):
t.penup()
t.goto(x,y)
t.pendown()
# head
t.pencolor("red")
t.fillcolor("yellow")
t.begin_fill()
t.circle(50)
t.end_fill()
# left eye
t.goto(x-15,y+60)
t.fillcolor("blue")
t.begin_fill()
t.circle(10)
t.end_fill()
# right eye
t.goto(x+15,y+60)
t.fillcolor("blue")
t.begin_fill()
t.circle(10)
t.end_fill()
# mouth
t.goto(x-30,y+40)
t.pencolor("black")
t.width(10)
t.goto(x-10,y+10)
t.goto(x+10,y+10)
t.goto(x+30,y+40)
t.width(1)
#画笑脸10个
for i in range(10):
x = random.randrange(-t.window_width()//2,t.window_width()//2)
y = random.randrange(-t.window_width()//2,t.window_width()//2)
draw_smiley(x,y)
02.更改无痕迹
书上讲goto()与setpos()一样,但实际验证不一样,goto()函数带有海龟走路痕迹,而setpos()走过去无痕迹。
个人理解goto()是前往的意思,是携带画笔颜色,而setpos()是定位的意思,直接一键定位,不含路途,画笔可直接跳转。(其实我理解错了,请看下篇笔记)
import random
import turtle as t
t.bgcolor("black")
t.speed(5)
# 定义笑脸函数
def draw_smiley(x, y):
t.penup()
t.setpos(x,y)
t.pendown()
# head
t.pencolor("yellow")
t.fillcolor("yellow")
t.begin_fill()
t.circle(50)
t.end_fill()
# left eye
t.setpos(x-15,y+60)
t.fillcolor("blue")
t.begin_fill()
t.circle(10)
t.end_fill()
# right eye
t.setpos(x+15,y+60)
t.fillcolor("blue")
t.begin_fill()
t.circle(10)
t.end_fill()
# mouth
t.setpos(x-30,y+40)
t.pencolor("black")
t.width(10)
t.goto(x-10,y+10)
t.goto(x+10,y+10)
t.goto(x+30,y+40)
t.width(1)
#画笑脸10个
for i in range(10):
x = random.randrange(-t.window_width()//2,t.window_width()//2)
y = random.randrange(-t.window_width()//2,t.window_width()//2)
draw_smiley(x,y)
End
不会Python,将成为人工智能时代的新“文盲”!
欢迎加入零基础自学Python计划,未来100天,Andy会把自学Python学习笔记持续输出公众号、视频号,不定期更新,邀您观战、加油、评论,亦或围观Andy被打脸。
人到中年,你一定要努力,但千万别着急。
我是Andy,一个终身学习者。
欢迎关注公众号与视频号:Andy学Python。