今天是Andy学Python的第12天哦!
大家好,我是Andy。
今天的主要任务是交作业。
01.正方形各边颜色不同
方法1:笨方法,顺序结构
from turtle import *
pencolor("red")
pensize(3)
fd(100)
left(90)
pencolor("blue")
fd(100)
left(90)
pencolor("yellow")
fd(100)
left(90)
pencolor("green")
fd(100)
left(90)
done()
方法2:循环
from turtle import *
colors = ["red", "blue", "yellow", "green"]
pensize(3)
for i in range(4):
pencolor(colors[i%4])
fd(100)
left(90)
done()
02.奥运五环
方法1:
from turtle import *
pensize(4)
# red
penup()
goto(200,0)
pendown()
pencolor("red")
circle(100)
# black
penup()
goto(0,0)
pendown()
pencolor("black")
circle(100)
# blue
penup()
goto(-200,0)
pendown()
pencolor("blue")
circle(100)
# green
penup()
goto(100,-100)
pendown()
pencolor("green")
circle(100)
# yellow
penup()
goto(-100,-100)
pendown()
pencolor("yellow")
circle(100)
done()
方法2:
from turtle import *
pensize(4)
colors1 = ["red", "black", "blue"]
colors2 = ["green", "yellow"]
for i in range(3):
pencolor(colors1[i%3])
pendown()
circle(100)
penup()
backward(200)
if i == 2:
break
goto(-100,-100)
for x in range(2):
pencolor(colors2[x%2])
pendown()
circle(100)
penup()
backward(200)
done()
03.红心
这个红心一开始没搞出来,看了网上一些教程,最简单方法是将红心拆分一个正方形+两个半圆。方法1为知乎答案,方法2个人创作。
方法1
# 以最低点为原点,逆时针完成
import turtle as t
t.pensize(2)
t.pencolor("red")
t.left(45)
t.fd(200)
t.circle(100, 180)
t.right(90)
t.circle(100, 180)
t.fd(200)
t.done()
方法2
# 以最低点为原点,顺时针完成
from turtle import *
pensize(3)
pencolor("red")
left(135)
fd(200)
circle(-100,180)
left(90)
circle(-100,180)
fd(200)
done()
方法3:改进版本,填充颜色
# 以最低点为原点,顺时针完成
from turtle import *
pensize(3)
pencolor("red")
begin_fill() #准备填充
color("pink") #填充颜色
left(135)
fd(200)
circle(-100,180)
left(90)
circle(-100,180)
fd(200)
end_fill() #结束填充
done()
End
不会Python,将成为人工智能时代的新“文盲”!
欢迎加入零基础自学Python计划,未来100天,Andy会把自学Python学习笔记持续输出公众号、视频号,不定期更新,邀您观战、加油、评论,亦或围观Andy被打脸。
人到中年,你一定要努力,但千万别着急。
我是Andy,一个终身学习者。
欢迎关注公众号与视频号:Andy学Python。
网友评论