从《零基础学编程014:小海龟做画》中我们学会了基本的做图命令,只需要用上循环语句,就可以画出比较复杂的图案来,比如:
from turtle import *
for i in range(255) :
forward(50 + i)
left(100)
这里总共循环255次,每次步子迈得大了一点点,每走一步之后左转100度,画出来的图案就是这样:
小海龟走得是不是太慢?可以按组合键CTRL + C 中断程序的运行,在for语句前加上speed(9) 可以让小海龟以最快的速度做画。不过中断之后,屏幕上已经被画乱了,需要用reset() 清空画布。完整的代码是:
from turtle import *
reset() # 把画布清空,小海龟回到初始点
speed(9) # 最快速度为9,最慢速度为1
for i in range(255) :
forward(50 + i)
left(100)
这里写了2行注释,程序员为了让别人或者是几个月之后的自己能够看懂程序,会加上一些解释说明。这是一种良好的编程习惯,黑客只要看你写过的注释,基本就能判断出你的编程水平。Python中的单行注释非常简单,在#符号之后的全是注释,只是给人类阅读的,计算机会忽略这些字符。
把旋转角度从100换成99,可以得到不同的图案:
还可以加点颜色变化,请自行试验:
from turtle import *
reset()
speed(9)
for i in range(255) :
colormode(255) # 颜色分量值不超过255
pencolor(i, i, i) # 画笔颜色会越来越淡
forward(50 + i)
left(99)
colormode(255)表示红、绿、蓝三种配色的值不超过255。
pencolor( )设置画笔的颜色,后面三个参数为R、G、B三分量,即红、绿、蓝。
练习:试着运行下面的代码,看看出现什么图案?
import turtle from turtle import * def part( total, length, breadth, col ): angleInc = 360/total width( breadth ) color( col ) for i in range(total): forward( length ) left( angleInc ) def rosette( total, length, width, color, angleInc ): for i in range( int(360/angleInc) ): part( total, length, width, color ) left( angleInc ) turtle.setup( 300, 300, 20, 20 ) turtle.speed(9) rosette(10,40,1,"blue",36) rosette(5,80,1,"red",36) turtle.exitonclick()
--- END ---