如何将代码分解成更小的代码块,将这些代码块转换成函数,然后在python中从main中调用函数?

如何将代码分解成更小的代码块,将这些代码块转换成函数,然后在python中从main中调用函数?,python,function,module,drawing,call,Python,Function,Module,Drawing,Call,我需要一种方法将我的代码分解成更小的代码块,将这些代码块转换成函数,然后从main中调用函数 import picture def main(): # Size of the canvas canvaswidth = 500 canvasheight = 500 canvas = picture.Picture(canvaswidth, canvasheight) # My color pallette black = (0, 0, 0)

我需要一种方法将我的代码分解成更小的代码块,将这些代码块转换成函数,然后从main中调用函数

import picture
def main():

    # Size of the canvas
    canvaswidth = 500
    canvasheight = 500
    canvas = picture.Picture(canvaswidth, canvasheight)

    # My color pallette
    black = (0, 0, 0)
    purple = (128, 0, 128)
    cream = (255, 255, 240)
    brown = (102,51, 0)
    blue = (0, 76, 173)
    red = (255, 0, 0)
    yellow = (255, 255, 0)

    canvas.setFillColor(brown)
    canvas.setOutlineColor(black)
    canvas.setPenWidth(3)
    canvas.drawRectFill(175,75,100,300)

    canvas.setFillColor(red)
    canvas.setOutlineColor(black)
    canvas.setPenWidth(3)
    canvas.drawPolygonFill([175,75,225,25,275,75])

    canvas.setFillColor(red)
    canvas.setOutlineColor(black)
    canvas.setPenWidth(3)
    canvas.drawPolygonFill([175,430,200,300,250,300,275,430])

    canvas.setFillColor(red)
    canvas.setOutlineColor(black)
    canvas.setPenWidth(3)
    canvas.drawPolygonFill([125,400,150,300,175,300,175,375])

    canvas.setFillColor(red)
    canvas.setOutlineColor(black)
    canvas.setPenWidth(3)
    canvas.drawPolygonFill([275,375,275,300,300,300,325,400])

    canvas.display()

main()

如果不了解你的目标和动机,就很难给你答案。你是说像下面这样的事情吗

# Size of the canvas
canvaswidth = 500
canvasheight = 500
canvas = picture.Picture(canvaswidth, canvasheight)

# My color pallette
black = (0, 0, 0)
purple = (128, 0, 128)
cream = (255, 255, 240)
brown = (102,51, 0)
blue = (0, 76, 173)
red = (255, 0, 0)
yellow = (255, 255, 0)

def doit(canvas, fill_color, draw_method, *data):
    canvas.setFillColor(fill_color)
    canvas.setOutlineColor(black)
    canvas.setPenWidth(3)
    getattr(canvas, draw_method)(*data)

def main():
    canvas = picture.Picture(canvaswidth, canvasheight)
    doit(canvas, brown, 'drawRectFill',    175,75,100,300)
    doit(canvas, red,   'drawPolygonFill', [175,75,225,25,275,75])
    doit(canvas, red,   'drawPolygonFill', [175,430,200,300,250,300,275,430])
    doit(canvas, red,   'drawPolygonFill', [125,400,150,300,175,300,175,375])
    doit(canvas, red,   'drawPolygonFill', [275,375,275,300,300,300,325,400])
    canvas.display()

像这样的问题更应该属于我们