1.风车
import turtle
turtle.speed(0)
turtle.tracer(False)
turtle.hideturtle()
for i in range(4):
if i == 0:
turtle.fillcolor('#00FFFF')
elif i == 1:
turtle.fillcolor('#7CFC00')
elif i == 2:
turtle.fillcolor('#EEA2AD')
else:
turtle.fillcolor('#FFFF00')
turtle.begin_fill()
turtle.circle(100,180)
turtle.left(90)
turtle.goto(0,0)
turtle.end_fill()
turtle.right(180)
turtle.update()
turtle.done()
2. 烟花(未完)
import turtle,random
# turtle.setup(500,800) # 设置屏幕大小
turtle.bgcolor('balck')
turtle.tracer(False)
turtle.colormode(255)
# 地面
for i in range(400):
turtle.pensize(random.randint(5,10))
x = random.randint(-400,400)
y = random.randint(-400,0)
turtle.pencolor(207,207,207)
turtle.pu()
turtle.goto(x,y)
turtle.pd()
turtle.forward(random.randint(20,80))
# 烟花
for i in range(100):
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
turtle.pencolor(r,g,b)
x = random.uniform(-400,400)
y = random.uniform(0,400)
turtle.pu()
turtle.setx(x)
turtle.sety(y)
turtle.pd()
huaban = random.randint(4,12)
size = random.randint(4,12)
turtle.pensize(random.randint(1,5))
for j in range(huaban):
turtle.forward(size)
turtle.pu()
turtle.goto(x,y)
turtle.pd()
turtle.right(360/huaban)
turtle.update()
3. 坐标轴
import turtle
'''Drawing coordinate system'''
def draw_cs():
turtle.tracer(False)
# 设置画笔
turtle.speed(0)
turtle.pensize(1)
turtle.pencolor('gray')
# 画x轴
turtle.penup()
turtle.goto(-400, 0)
turtle.pendown()
turtle.goto(400, 0)
# 画x轴的箭头
turtle.penup()
turtle.goto(395, 5)
turtle.pendown()
turtle.goto(400, 0)
turtle.goto(395, -5)
# 画x轴的点
for i in range(-400, 400, 50):
# 画点
turtle.penup()
turtle.goto(i, 10)
turtle.pendown()
turtle.goto(i, 0)
# 画字
turtle.penup()
if i == 0: # 对0的处理
turtle.goto(i - 10, -25)
turtle.write(i, align='center')
else:
turtle.goto(i, -25)
turtle.write(i, align='center')
turtle.pendown()
# 画x轴的X
turtle.penup()
turtle.goto(390, -30)
turtle.pendown()
turtle.write('x', font=("Arial", 16))
# 画y轴
turtle.penup()
turtle.goto(0, -400)
turtle.pendown()
turtle.goto(0, 400)
# 画y轴的箭头
turtle.penup()
turtle.goto(-5, 395)
turtle.pendown()
turtle.goto(0, 400)
turtle.goto(5, 395)
# 画y轴的点
for i in range(-400, 400, 50):
# 画点
turtle.penup()
turtle.goto(10, i)
turtle.pendown()
turtle.goto(0, i)
# 画字
turtle.penup()
if i == 0: # 对0的处理
pass
else:
turtle.goto(-25, i - 5)
turtle.write(i, align='center')
turtle.pendown()
# 画y轴的y
turtle.penup()
turtle.goto(-30, 380)
turtle.pendown()
turtle.write('y', font=("Arial", 16))
# 恢复初始位置
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
turtle.pensize(3)
turtle.tracer(True)
turtle.update()
draw_cs()
# turtle.mainloop()
4. 多彩漩涡
import turtle as t
# t = turtle.pen()
t.speed(0)
t.bgcolor("black")
t.tracer(False)
sides=6
colors=["red","yellow","green","blue","orange","purple"]
for x in range(360):
t.pencolor(colors[x%sides])
t.forward(2*x+1)
t.left(360/sides+1)
t.width(x*0.05)
t.update()
5. 扇形
在上一个图形的基础上修改边数即可
import turtle
# t = turtle.Pen()
turtle.speed(0)
turtle.bgcolor("black")
sides=int(input("输入要绘制的边的数目,请输入2-6的数字!"))
colors=["red","yellow","green","blue","orange","purple"]
for x in range(300):
turtle.pencolor(colors[x%sides])
turtle.forward(2*x)
turtle.left(360/sides+1)
turtle.pensize(x*sides/200)
6. 美队盾牌
import turtle
turtle.speed(0)
turtle.pencolor('red')
turtle.pensize(20)
turtle.circle(180)
turtle.pu()
turtle.goto(0,37)
turtle.pd()
turtle.pencolor('red')
turtle.pensize(20)
turtle.fillcolor('blue')
turtle.begin_fill()
turtle.circle(140,370)
turtle.end_fill()
turtle.pu()
turtle.seth(0)
turtle.goto(-125,220)
turtle.pd()
turtle.pencolor('white')
turtle.pensize(1)
turtle.fillcolor('white')
turtle.begin_fill()
for i in range(5):
turtle.forward(250)
turtle.right(144)
turtle.end_fill()
turtle.hideturtle()
7. 彩色螺旋线
import turtle, random
turtle.colormode(255)
turtle.bgcolor('black')
turtle.tracer(False)
changdu = 10
for i in range(500):
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
turtle.pencolor(r, g, b)
turtle.forward(changdu + 50)
changdu += 1
turtle.right(89)
turtle.update()
turtle.mainloop()
8. 小伞
import turtle,random
turtle.mode('logo')
turtle.colormode(255)
turtle.tracer(False)
turtle.hideturtle()
'''🌂伞面颜色填充'''
turtle.fillcolor('red')
turtle.begin_fill()
for i in range(3):
turtle.circle(20,180)
turtle.right(180)
turtle.circle(-60,180)
turtle.end_fill()
'''🌂伞柄'''
turtle.pu()
turtle.goto(-60,20)
turtle.pd()
turtle.forward(100)
turtle.circle(-15,180)
turtle.update()
9. 满天星(根据鼠标点击)
实现的效果是鼠标在哪儿点击,就会在哪儿画出星星
from turtle import *
from random import *
speed(0)
bgcolor('black')
def star(x,y):
pu()
goto(x,y)
pd()
r = randint(0,255)
g = randint(0,255)
b = randint(0,255)
colormode(255)
color(r,g,b)
begin_fill()
changdu = randint(10,30)
right(randint(0,360))
for i in range(5):
fd(changdu)
rt(144)
end_fill()
onscreenclick(star,btn=3) # 1 左键 2滚轮 3 右键
mainloop()