今天看Python画画的东西,看到用正方形画圆 觉得很有趣,就尝试了下。
画出来长这样:
画图过程如下:用五边形画圆?https://www.zhihu.com/video/1127633175656218624
代码如下:
import turtle
def draw_square():
# 添加一个窗口屏幕,即 画布
window = turtle.Screen()
# 设定画布的颜色为红色
window.bgcolor('black')
# 初始化对象,即对象brad具备了画画的能力
brad = turtle.Turtle()
# 改变形状
brad.shape('classic')
# 改变颜色
brad.color('yellow')
# 改变速度
brad.speed(2)
temp1 = 1
# 该循环在每次画完一个正方形后,右转10度
while temp1 <= 360:
for i in range(1,5):
# 设定想要前进的距离
brad.forward(100)
# 向右方转90度
brad.right(100)
temp1 = 20
# 右转10度
brad.right(5)
# 设定任意时刻都可以关闭这个画画,点击屏幕即关闭
window.exitonclick()
#调用函数
draw_square()
然后,我就想使用递归画更大的图,图长这样:黄连花?或者图腾?
画图过程如下:https://www.zhihu.com/video/1127634952136802304
但是我目前还不太懂为什么画图时候不能自己调用自己,所以就写了个简单的嵌套循环。
代码如下:
import turtle
def draw_square():
# 添加一个窗口屏幕,即 画布
window = turtle.Screen()
# 设定画布的颜色为红色
window.bgcolor('black')
# 初始化对象,即对象brad具备了画画的能力
brad = turtle.Turtle()
# 改变形状
brad.shape('classic')
# 改变颜色
brad.color('yellow')
# 改变速度
brad.speed(2)
temp = 1
# 该循环在每次画完一个正方形后,右转10度
while temp <= 360:
for i in range(1,5):
# 设定想要前进的距离
brad.forward(200)
# 向右方转90度
brad.right(100)
temp1 = 1
# 该循环在每次画完一个正方形后,右转10度
while temp1 <= 360:
for i in range(1,3):
# 设定想要前进的距离
brad.forward(20)
# 向右方转90度
brad.right(100)
temp1 += 20
# 右转10度
brad.right(5)
temp = 20
# 右转10度
brad.right(5)
# 设定任意时刻都可以关闭这个画画,点击屏幕即关闭
window.exitonclick()
draw_square()
然后,颜色啊都可以调。你就可以画自己喜欢的花啦~
后续,我会自己捯饬一些好玩好看的图实现出来,喜欢就给我点个赞吧哈哈哈~