零基础学编程015:画些有趣的图案

时间:2022-05-03
本文章向大家介绍零基础学编程015:画些有趣的图案,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

从《零基础学编程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 ---