python语言的turtle库

一、使用random随机获取列表元素

二、画笔的抬笔和落笔

三、背景图片的设置

四、窗口大小的设置

import random  #调用库
a=[1,2,3,4,5,6] #列表元素
b="asdfghjkl"
#print(a[random.randint(0,5)]) #随机获取一个数
#random.choice() #随机取一个列表元素
print(random.choice(a))  #随机获取一个列表数
print(random.choice(b)) #随机获取一个b的字符
import turtle
p=turtle.Turtle()
p.forward(200)  #想前200
p.left(90) #想左90°
p.penup() #抬笔
p.forward(200)  #向前200
p.pendone() #落笔
p.left(90)  #向左转90°
p.forward(200)  #向前200
turtle.done()


#画五角星
import turtel
p=turtle.Turtle  #调用笔
for i in range(5)  #循环5此
    p.forward(200)  #执行200步
    p.left(180-180/5) #转144°
turtle.done()  #不退出

扩展
a=[5,7,8,10]
star=random.choice(a)  #随机选择
turtel.bgcolor("red")   #设置背景色
turtle.bgpic("./pic/aaa.pg")  #设置背景颜色
turtle.setup(width=200,height=200,startx=0,starty=0) #设置窗口大小
for i in range(star)
    p.forward(200)
    p.left(180-180/star)
turtle.done()


画笔坐标设置
p.forward(1000)  #执行1000
p.goto(0,0)   #回到原点
p.circle(50)   #画一个圆
turtle.done()


递归的使用
a=0
def say();   #编写函数
    global a  #调用全局变量
    a+=1    #a=a+1
    if 1>100:  #循环
        return  #推出
    print("aaaaaaaaaaaaaa")
    say() #执行自己

say() #执行函数




案例
import random         #调用库
import turtle         #调用库
p=turtel.Turtle()     #拿出笔
p.speed(0)     #速度为0档
turtel.colorrmode(255)    
#redius=50   #变量
def circle(redius);   #创建函数,定义参数
 #   global redius   #引用全局
    if redius > 200:  #设置出口
        return    #退出
#        redius+=1      #redius=redius+1            p.pencolor(random.randint(0,255),random.randint(0,255),randome.randint(0,255))
    p.circle(radius)  #画圆
    p.left(2) #转2°
    circle(redius+1) #调用自己,传参
circle(50)  #调用函数,传递参数


输出a-b之间所有整数
#递归的出口一定要在递归之前
def test(a,b):   #创建函数
    if a>b:
        return
    print(a)
    test(a+1,b)
test(4,100)


案例树
import turtle
p=turtle.Turtle() #创建一只笔
turtle.colormode(255) #颜色模式设置255
p.speed(0)  #最快
r=0
g=0
b=0
length=120  #长度
pen_size=14  #笔的粗细
p.pensize(pen_size)  #设置笔的粗细
p.penup() #抬笔
p.left(90) #旋转90
p.bakcward(length) #倒退120
p.pendown()#落笔
p.forward(length)

def draw_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.forward(l) #前进l步
    if lv < 14:
        draw_tree(l,lv)
    p.backward(l) #倒退l
    p.right(90) #向右90


    #右边枝干
    p.forward(length)
    
    if lv < 14:
        drqw_tree(1,lv+1)
    p.backward(l)
    p.left(45)
    p.pensize(size)


draw_tree(length,4)
    
    

turtle.done()










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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值