python自定义Drawturtle类在命令提示符下通过命令行参数运行

"""在程序中定义了一个继承自Turtle的类,给它增加了一些画多边形,画8字等方法。请给本程序增加功能,让在命令提示符下输入 draw.py circle 时,会画一个圆圈"""

from turtle import *
import sys

import colorsys
def coloradd(color,dh):
    """颜色增加原理:
        color是三元组,分别为0-255的值.此函数把颜色转换成hls模式,对h进行增加dh的操作
       然后转换回去,dh是小于1的浮点数.
    """
addcolor = coloradd   # 定义别名

def colorset(color):
    """设定颜色,color范围为1到360"""
    
setcolor = colorset    # 定义别名

class Drawturtle(Turtle):
    yanse = (255,0,0)
    def __init__(self,shape = "turtle",visible = True,undobuffersize = 1000):
        """初始化海龟"""
        Turtle.__init__(self,shape = shape,visible = visible,undobuffersize = undobuffersize)
        if self.screen.colormode()!=255:self.screen.colormode(255)
        self.pencolor(Drawturtle.yanse)
        

if __name__ == "__main__":

    parameters = ['polygon','sun','star','8']
    helpinfo = """本程序目前支持以下四种用法:\n    
    draw.py polygon"
    draw.py sun
    draw.py star
    draw.py 8

    """
     
    p = sys.argv                          # 命令行参数列表

    if len(p) == 1 :
        print(helpinfo)
        sys.exit(0)

    p = p[1]

    if not p in parameters:sys.exit(0)

    screen = Screen()    
    screen.setup(640,480)
    screen.colormode(255)
    screen.bgcolor("black")
    screen.title("Python海龟画图_命令行参数练习")

    t = Drawturtle()
    t.color("cyan")
    t.pensize(3)
    t.screen.delay(2)
    t.setheading(180)    
    
    if p == "polygon" :
        t.draw_polygon(5,150)
    elif p == "sun":
        t.draw_sun(60,10,100)
    elif p == "star":
        t.draw_star(100)
    elif p == "8":
        t.draw8(10)

    t.screen.exitonclick()
        

 

如需要查看完整代码,请扫码付款:

VIP免费查看

已有0人支付

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。扫码付款后的朋友可以加QQ: 406273900,提供技术支持及发送作品图片与配音素材。亦可直接向微信号scratch8付款购买。
李兴球的博客_Python创意编程技术前沿 » python自定义Drawturtle类在命令提示符下通过命令行参数运行

学本领,探索更大的世界!

李兴球博客 风火轮编程主页
error: Content is protected !!