你还在用循环画多边形吗?
你还的海归窗口还是纯色吗?
......
简介:
Python的turtle库的易操作,对初学者十分友好。对于初学者来说,刚学编程没多久可以写出许多有趣的可视化东西,这是对学习编程极大的鼓舞,可以树立对编程学习的信心。当然turtle本身也十分有趣,可以用它画出很多奇妙的图案。
Turtle基本函数使用:
backward() | bk() | back() 后退
goto() | setpos() | setposition() 前往/定位
circle() 画圆画 多边形
dot() 画点
pendown() | pd() | down() 画笔落下
pen() 画笔
isdown() 画笔是否落下
color() 颜色
pencolor() 画笔颜色
fillcolor() 填充颜色
filling() 是否填充
begin_fill() 开始填充
end_fill() 结束填充
write() 书写
showturtle() | st() 显示海龟
hideturtle() | ht() 隐藏海龟
turtle 官方学习网站:
bgpic(picname)
作用:来设置背景图片
参数:picname是一个字符串,代表图片的文件名(包括路径,如果图片不在当前工作目录下的话)
支持的图片格式:turtle.bgpic()函数支持多种常见的图片格式,如.gif、.png、.jpeg等
图片自适应:使用turtle.bgpic()设置的背景图片能够自动适应绘图窗口的大小
动态背景:除了静态图片外,turtle.bgpic()还支持动态图片(如GIF动画)
circle(radius,extent=None,steps=None)
作用:在turtle模块中用于绘制圆形或弧形
参数:radius(必需):圆的半径,以像素为单位。当值为正数时,半径在小海龟的左侧;当值为负数时,半径在小海龟的右侧。
extent(可选):绘制弧形的角度。默认值为None,表示绘制整个圆形(360度)。如果给出了一个角度值(例如180),则会绘制一个扇形或弧形。角度可以是正数或负数,其中1度等于π/180弧度。
steps(可选):绘制圆或弧形时使用的边数。当指定了这个参数后,circle指令绘制的将是一个由steps条线段连接起来的多边形,而不是一个平滑的弧形。默认值为None,表示自动选择一个合适的值来绘制平滑的圆或弧形。
hideturtle()
作用:隐藏绘图窗口中的海龟(turtle)图标
注意:hideturtle() 方法只影响调用它的海龟对象。如果你有多个海龟对象,并且想要隐藏它们中的某一个,你需要对该对象调用 hideturtle() 方法。如果你想要隐藏所有的海龟对象,你需要对每个对象都调用 hideturtle() 方法。
满天星.py
"""
主题:
时间:{2024/6/20}
作者:香蕉不熟
"""
import random as rd
import turtle as t
def wjx(r):
num = 1
t.begin_fill()
while num<= 5:
t.forward(r)
t.left(144)
num += 1
t.begin_fill()
def main():
t.speed(0)
t.pensize(1)
t.bgcolor('black')
t.color('gold')
t.penup()
t.goto(-80,-15)
t.write('你的眼里满天星光', font=('宋体',16,'bold'))
t.pendown()
for i in range(50):
# 随机星星边长
r = rd.uniform(8, 16)
# 随机坐标
x = rd.uniform(-300, 300)
y = rd.uniform(-300, 300)
# 随机角度
s = rd.uniform(0, 360)
t.penup()
t.left(s)
t.goto(x,y)
t.pendown()
wjx(r)
i += 1
t.hideturtle()
t.done()
if __name__ == '__main__':
main()
小红花.py
"""
主题:turtle库练习
时间:{2024/5/29}
作者:香蕉不熟
"""
#导入海归库
import turtle as t
def main():
#设置颜色
t.color('red')
#设置速度
t.speed(1)
#设置窗口
num = t.numinput('小红花','有几朵花瓣',6)
#花瓣循环
for i in range(int(num)):
t.forward(16)
t.circle(30)
t.right(360/num)
#停留窗口
t.done()
if __name__ == '__main__':
main()
奥运五环.py
"""
主题:
时间:{2024/6/20}
作者:香蕉不熟
"""
import turtle as t
def main():
t.speed(0)
t.pensize(5)
#创建两个列表储存颜色
color1 = ['blue','black','red']
color2 = ['yellow','green']
#循环变量初始值
num1 = 1
num2 = 1
#索引变量初始值
i1 = 0
i2 = 0
#横坐标初始值
x1 = -100
x2 = -50
while num1 < 4:
t.penup()
t.goto(x1,50)
t.pendown()
t.pencolor(color1[i1])
t.circle(50)
i1 += 1
num1 += 1
x1 += 110
while num2 < 3:
t.penup()
t.goto(x2,-10)
t.pendown()
t.pencolor(color2[i2])
t.circle(50)
i2 += 1
num2 += 1
x2 += 115
t.hideturtle()
t.done()
if __name__ == '__main__':
main()
折叠的五个五角星.py
"""
主题:
时间:{2024/6/20}
作者:香蕉不熟
"""
import turtle as t
def d5s(r):
num = 1
while num <6:
t.forward(r)
t.lt(144)
num += 1
r += 10
t.hideturtle()
if r <= 100:
d5s(r)
def main():
t.speed(0)
t.pensize(2)
t.pencolor('red')
r = 50
t.penup()
t.backward(100)
t.pendown()
d5s(r)
t.done()
if __name__ == '__main__':
main()
几何图形.py
"""
主题:
时间:{2024/6/20}
作者:香蕉不熟
"""
import turtle as t
t.speed(0)
t.pensize(3)
def wenzi():
t.pencolor('green')
t.penup()
t.goto(-100,50)
t.pendown()
t.write('Coll Colorful Shapes',font=('Times',18,'bold'))
def sjx():
t.penup()
t.goto(-200,-50)
t.pendown()
t.color('red')
t.begin_fill()
t.circle(40,steps=3)
t.end_fill()
def sbx():
t.penup()
t.goto(-100,-50)
t.pendown()
t.color('blue')
t.begin_fill()
t.circle(40,steps=4)
t.end_fill()
def wbx():
t.penup()
t.goto(0,-50)
t.pendown()
t.color('yellow')
t.begin_fill()
t.circle(40,steps=5)
t.end_fill()
def lbx():
t.penup()
t.goto(100,-50)
t.pendown()
t.color('seashell')
t.begin_fill()
t.circle(40,steps=6)
t.end_fill()
def yx():
t.penup()
t.goto(200,-50)
t.pendown()
t.color('purple')
t.begin_fill()
t.circle(40)
t.end_fill()
def main():
wenzi()
sjx()
sbx()
wbx()
lbx()
yx()
t.hideturtle()
t.done()
if __name__ == '__main__':
main()
风车.py
"""
主题:
时间:{2024/6/20}
作者:香蕉不熟
"""
import turtle as t
def main():
t.speed(0)
t.pensize(3)
colors = ['red','orange','blue','green']
i = 0
num = 1
while num < 5:
t.begin_fill()
t.color(colors[i])
t.circle(40,steps=3)
t.end_fill()
t.penup()
t.left(90)
t.pendown()
i += 1
num += 1
t.hideturtle()
t.done()
if __name__ == '__main__':
main()
画画课堂.py
'''
主题:我的画画课堂
时间:2024/3/29
作者:香蕉不熟
'''
import turtle as t
import 满天星
import 小红花
import 奥运五环
import 折叠的五个五角星
import 几何图形
import 风车
def main():
t.bgpic('pika_3.gif')
t.penup()
t.goto(-80,100)
t.pendown()
t.write('欢迎来到画画课堂',font=('宋体',26,'bold'))
t.hideturtle()
while True:
x = t.textinput('画画课堂','请输入你想画的图形如满天星、奥运五环')
t.clearscreen()
t.speed(0.005)
if x == '结束':
break
elif x == '满天星':
满天星.main()
elif x== '奥运五环':
奥运五环.main()
elif x == '小红花':
小红花.main()
elif x =='折叠的五个五角星':
折叠的五个五角星.main()
elif x == '几何图形':
几何图形.main()
elif x == '风车':
风车.main()
else:
t.penup()
t.goto(-200,100)
t.pendown()
t.write('你输入的画笔不合格,重新输入',font=('宋体',26,'bold'))
t.hideturtle()
t.done()
if __name__=='__main__':
main()
运行结果: