turtle 小案例(少儿编程)

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()

在这里插入图片描述

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值