我们继续用Python的海龟库来画图吧!

python tutrle 莲花 python代码画荷花_初始状态

上图是画一朵花的程序,重点是6-12行,使用了函数来定义drawleaf:每一掰叶子由两条弧线组成,每一条弧线重复画15次,每次前进5步,右转6度。

python tutrle 莲花 python代码画荷花_公众号_02

看图形化代码就很清楚了,这朵花由4部分组成,一个向上长50步的直线,一片叶子,长150步的直线和6片叶子组成的花。

python tutrle 莲花 python代码画荷花_python画图程序代码_03

上图是最终的效果图,大家可以想一想,为什么花儿的直线部分比较粗呢?(后面有答案)

python tutrle 莲花 python代码画荷花_公众号_04

上图依然是花儿的程序,做了三方面的拓展:

第12行代码增加了画笔的粗细;

第6-10行代码,改变了叶子的函数,这里叶子由两个圆弧组成;

第18-20行代码,给这朵花增加了一片叶子。

python tutrle 莲花 python代码画荷花_图形化_05

图形化代码可以更清楚的看到变化。

python tutrle 莲花 python代码画荷花_初始状态_06

具体效果如上图,感觉这朵花儿除了增加了叶子,变粗了线条,叶子从细长变的粗短了一些,整体变化不大!

python tutrle 莲花 python代码画荷花_图形化_07

上图的程序依然是那朵花儿,同样做了三个方面的拓展:

第5行代码,加快了画笔的速度,将速度设为了100;

第6行代码,将画笔初始状态设为抬笔,在第17行代码才设定为落笔状态。为什么第一幅花朵的直线部分比较粗呢?因为画了往返两次,从(0,0)先画到(0,-150),再累计往上移动150步,又画了回去。海龟画笔的默认起始位置是(0,0)。

第20-23行代码,第26-29行代码,是给叶子填充颜色;第32-37行代码,是给花朵填充颜色。

python tutrle 莲花 python代码画荷花_python画图程序代码_08

python tutrle 莲花 python代码画荷花_图形化_09

图形化代码较长,如上面两图。注意:不论是代码编程还是图形化编程,顺序非常重要。即使在图形化代码中移动了函数的位置,程序可能就不能正常执行了。

python tutrle 莲花 python代码画荷花_初始状态_10

这次的花朵变化感觉挺大!填充了颜色,加快了画笔速度,更改了落笔位置。

本文内容除了函数部分,其余内容皆为之前知识的复习。