使用turtle进行画图,如圆环循环,标靶,树,满天星等图

圆环循环
import turtle as p
import random
p.speed(0)
p.colormode(255)//设置颜色或p.colormode(1.0)
c=50
def circle():
    global c
    if(c>200):
        return
    c+=1
    p.pencolor(random.randint(0,255),random.randint(0,255),random.randint(0,255))
    p.circle(c)
    p.left(2)
    circle()
circle()
递归
def cs(a,b):
    if(a>b):
        return
    print(a)
    cs(a+1,b)
cs(0,5)



import turtle as p
import random
p.colormode(255)
p.speed(0)
r=0
g=0
b=0
length=120
p.pensize(14)
p.penup()
p.left(90)
p.backward(length)
p.pendown()
p.fd(length)
def tree(l,lv):
    l=l*3/4
    size=p.pensize()
    p.pensize(size*3/4)
    global r,g,b
    r+=1
    g+=2
    b+=3
    p.pencolor(r%200,g%200,b%200)
    p.left(45)
    p.fd(l)
    if(lv<14):
        tree(l,lv+1)
    p.backward(l)
    p.right(90)
    p.fd(l)
    if(lv<14):
        tree(l,lv+1)
    p.backward(l)
    p.left(45)
    p.pensize(size)
tree(length,4)
p.done()
折线图
import matplotlib.pyplot as plt
plt.reParams['font.san-serif']=['SimHei']
a=['1.27','1.30','2.2','2.5','2.8','2.10','2.15','2.20','2.23','2.29','3.3']
b=[1771,1982,2829,3694,2654,2569,2484,2009,892,416,579,120]
c=[2077,4812,5713,5328,3916,3516,1918,1614,620,132,134,256]
plt.plt(a,b,"ro-",label="新增确诊病例")
plt.xlabel("日期")
plt.ylabel("人数")
plt.legend()
plt.show()
方块
import turtle as p
import random
p.speed(0)
def fangkuai(a):
    p.colormode(255)
    p.pencolor(random.randint(0,255),random.randint(0,255),random.randint(0,255))
    if(a>50):
        return
    p.pensize(1)
    p.fd(100)
    p.left(90)
    p.fd(100)
    p.left(90)
    p.fd(100)
    p.left(90)
    p.fd(130)
    p.left(100)
    fangkuai(a+1)
fangkuai(1)
满天星
import turtle as t
import random as r
t.setup(width=1280, height=720)
pen = t.Turtle()
pen.speed(0)
t.colormode(255)
def star_create():
    pen.penup()
    pen.goto(r.randint(-640,640), r.randint(-360,360))
    pen.pendown() 
    s_c = [r.randint(0,255), r.randint(0,255), r.randint(0,255)]
    pen.color(s_c[0], s_c[1], s_c[2])
   
    star = r.randint(5,15)
    if star % 2 == 1:
        pen.begin_fill()
        for i in range(star):       
            pen.left(180 - 180/star)
            pen.forward(50)
        pen.end_fill()
    else:
        for i in range(2):
            pen.penup()
            pen.circle(25, 360//star)
            pen.pendown()
            pen.begin_fill()
            pen.circle(25, steps = star//2)
            pen.end_fill()
for i in range(100):
    star_create()
t.done()

 


蟒蛇
import turtle as p
p.right(90)
for i in range(1,10):
    p.pensize(5)
    p.circle(10,-180)
    p.circle(-10,-180)
标靶
import turtle as p
for i in range(-10,0):
    p.speed(0)
    colors=['yellow','red']
    p.pencolor("blue")
    p.begin_fill()
    p.circle(i*10)
    p.right(90)
    p.penup()
    p.fd(10)
    p.pendown()
    p.left(90)
    p.fillcolor(colors[i%2])
    p.end_fill()

p.done()

   

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值