[Python2] su uso en tortuga tortuga pitón dibujo módulo de aprendizaje (pitón interesante primera experiencia)

dibujo tortuga

Dibujos de tortugas Python es herramientas de dibujo muy populares. En 1966, el Dr. Simon Papert inventó especial para niños a aprender el lenguaje de programación - lenguaje LOGO . Se distingue por la programación del mando de una pequeña tortuga empate en la pantalla.

Las tortugas marinas y Python construyeron módulo de dibujo, copiar todas las características del dibujo original de la tortuga.

          En el siguiente procedimiento, se encuentra un turtle.mainloop (), este método se utiliza en la elaboración de última tortuga no permiten la ventana de dibujo cerrado en el extremo del sorteo

          Tkinter módulo ( "Tk Interface") es un Python interfaz para .TK estándar Tk GUI toolkit y tkinter funciona en la mayoría de Unix su uso bajo la plataforma, el mismo se puede aplicar a los sistemas Windows y Macintosh que puede lograrse versiones posteriores .Tk8.0 ventana de estilo local, y ejecutar bien en la gran mayoría de las plataformas

No se explican un poco mejor comprensión de los vínculos de este artículo: https://blog.csdn.net/San__Qi/article/details/100568682

función mainloop de la sustancia en Python tkinter

Texto
Estos son los pasos programadores más generales Tkinter son comunes, que es el código para hacer las siguientes cosas:
1. Cargar el sufrimiento de entre módulo en una clase de componente.
2. Crear una instancia de la clase de etiqueta clase de componente
3. Paquete nueva pestaña dentro de los componentes principales.
4. Llame al bucle principal, la ventana de visualización, y comenzó bucle de eventos tkinter.
Mainloop último método de ejecución, la etiqueta se visualiza en la pantalla, introduzca el estado de espera (Nota: Si el componente no está empaquetado, no se mostrará en la ventana), listo para responder a los eventos de la GUI iniciadas por el usuario. En función mainloop, tkinter interno supervisará estos eventos, tales como la actividad del teclado, clics de ratón, y así sucesivamente. De hecho, tkinter de mainloop función Python con el siguiente pseudo-código es esencialmente la misma:

def mainloop():
    while the main window has not been closed:
        if an event has occurred:
            run the associated event handler function


Debido a este modelo de eventos, siempre y cuando la interfaz gráfica de usuario todavía está en la pantalla, llamada mainloop no volverá a ejecutar código. Cuando escribimos código grande, sólo después de llamar a la práctica mainloop es registrar gestor de llamadas en respuesta a eventos. Hasta que una condición de terminación se cumple, las llamadas Tk () para salir del ejemplo de mainloop interrupción realizado. De hecho sys.exit función también se puede utilizar para salir de la interfaz gráfica de usuario, que es una excepción y luego salir del programa lanzando, la excepción puede ser capturado (no adoptan método os._exit, también puede dejar todo el programa, pero no lo hace se llevará a cabo acciones de limpieza, y no puede ser capturado). Ventana (por ejemplo, la ventana raíz Tk, ejemplo TopLevel) la función de destruir también se puede utilizar para cerrar la interfaz gráfica de usuario, pero por lo general no utilizan este método, pero es diferente de la función de dejar de fumar, cuando una pluralidad de ventana de programas de raíz Tk, destruye solamente después de la última ventana se cierra al salir de la interfaz gráfica de usuario raíz.

Por supuesto, también Mainloop filtro de lata y otras operaciones de estos eventos, pero esto no es gran asociado con este artículo.

Resumen de "Programación Python" ---- O'REILLY la cuarta edición.

módulo de tortuga en el método

  • módulo de importación

    Al utilizar las necesidades de módulos que deben importarse en Python, por ejemplo, en la elaboración necesidad tortuga tortuga a la importación de importación

  • '' convocados a las tortugas

    Tortuga dibujo tortugas pequeñas (PEN) es una flecha forma original, se puede utilizar el método para dar forma al interior del cambio tortuga su forma.

    import turtle
    
    turtle.shape('turtle')


    Esto lo puso en una forma de una pequeña tortuga.
    Otras formas también: "flecha", "círculo" , "cuadrada", "triángulo", "clásico".

  • adelante

    Un método para controlar el uso de las crías hacia delante mirando hacia adelante en la dirección de

    import turtle
    turtle.shape('turtle')
    turtle.forward(100)

  • círculo

    El método utilizado para comandar un pequeño círculo para dibujar un círculo tortugas
     

    import turtle
    turtle.shape('turtle')
    turtle.circle(50)
     

    En el que el radio del círculo detrás del número en paréntesis es el tamaño del círculo, en píxeles

  • Girar

    El método puede ser controlado usando la izquierda a las crías de dirección izquierda

    import turtle
    turtle.shape('turtle')
    turtle.left(45)
    turtle.forward(100)
     

    Este código crías pueden ser controlados a 45 grados a la izquierda, y luego procede a dibujar una línea recta.

  •  

    Dibujar un cuadrado

    import turtle
    turtle.shape('turtle')
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.mainloop()

  • muñeco de nieve dibujo

    import turtle
    turtle.shape('turtle')
    turtle.circle(50)
    turtle.left(180)
    turtle.circle(100)
    turtle.mainloop()

  • reenviar hacia delante - hacia atrás hacia atrás

    import turtle
    turtle.shape('turtle')
    turtle.backward(100)

  • izquierda a la izquierda - derecha giro a la derecha

    import turtle
    turtle.right(45)
    turtle.forward(100)

  • Plaza roja

    import turtle
    
    turtle.pensize(4)
    turtle.pencolor('red')
    
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    
    turtle.mainloop()

  • dibujar la bandera

    """
    用Python的turtle模块绘制国旗
    """
    import turtle
    
    
    def draw_rectangle(x, y, width, height):
        """绘制矩形"""
        turtle.goto(x, y)
        turtle.pencolor('red')
        turtle.fillcolor('red')
        turtle.begin_fill()
        for i in range(2):
            turtle.forward(width)
            turtle.left(90)
            turtle.forward(height)
            turtle.left(90)
        turtle.end_fill()
    
    
    def draw_star(x, y, radius):
        """绘制五角星"""
        turtle.setpos(x, y)
        pos1 = turtle.pos()
        turtle.circle(-radius, 72)
        pos2 = turtle.pos()
        turtle.circle(-radius, 72)
        pos3 = turtle.pos()
        turtle.circle(-radius, 72)
        pos4 = turtle.pos()
        turtle.circle(-radius, 72)
        pos5 = turtle.pos()
        turtle.color('yellow', 'yellow')
        turtle.begin_fill()
        turtle.goto(pos3)
        turtle.goto(pos1)
        turtle.goto(pos4)
        turtle.goto(pos2)
        turtle.goto(pos5)
        turtle.end_fill()
    
    
    def main():
        """主程序"""
        turtle.speed(12)
        turtle.penup()
        x, y = -270, -180
        # 画国旗主体
        width, height = 540, 360
        draw_rectangle(x, y, width, height)
        # 画大星星
        pice = 22
        center_x, center_y = x + 5 * pice, y + height - pice * 5
        turtle.goto(center_x, center_y)
        turtle.left(90)
        turtle.forward(pice * 3)
        turtle.right(90)
        draw_star(turtle.xcor(), turtle.ycor(), pice * 3)
        x_poses, y_poses = [10, 12, 12, 10], [2, 4, 7, 9]
        # 画小星星
        for x_pos, y_pos in zip(x_poses, y_poses):
            turtle.goto(x + x_pos * pice, y + height - y_pos * pice)
            turtle.left(turtle.towards(center_x, center_y) - turtle.heading())
            turtle.forward(pice)
            turtle.right(90)
            draw_star(turtle.xcor(), turtle.ycor(), pice)
        # 隐藏海龟
        turtle.ht()
        # 显示绘图窗口
        turtle.mainloop()
    
    
    if __name__ == '__main__':
        main()

  • Dibuje cerdo Página

    """
    绘制小猪佩奇
    """
    from turtle import *
    
    
    def nose(x,y):
        """画鼻子"""
        penup()
        # 将海龟移动到指定的坐标
        goto(x,y)
        pendown()
        # 设置海龟的方向(0-东、90-北、180-西、270-南)
        setheading(-30)
        begin_fill()
        a = 0.4
        for i in range(120):
            if 0 <= i < 30 or 60 <= i <90:
                a = a + 0.08
                # 向左转3度
                left(3)
                # 向前走
                forward(a)
            else:
                a = a - 0.08
                left(3)
                forward(a)
        end_fill()
        penup()
        setheading(90)
        forward(25)
        setheading(0)
        forward(10)
        pendown()
        # 设置画笔的颜色(红, 绿, 蓝)
        pencolor(255, 155, 192)
        setheading(10)
        begin_fill()
        circle(5)
        color(160, 82, 45)
        end_fill()
        penup()
        setheading(0)
        forward(20)
        pendown()
        pencolor(255, 155, 192)
        setheading(10)
        begin_fill()
        circle(5)
        color(160, 82, 45)
        end_fill()
    
    
    def head(x, y):
        """画头"""
        color((255, 155, 192), "pink")
        penup()
        goto(x,y)
        setheading(0)
        pendown()
        begin_fill()
        setheading(180)
        circle(300, -30)
        circle(100, -60)
        circle(80, -100)
        circle(150, -20)
        circle(60, -95)
        setheading(161)
        circle(-300, 15)
        penup()
        goto(-100, 100)
        pendown()
        setheading(-30)
        a = 0.4
        for i in range(60):
            if 0<= i < 30 or 60 <= i < 90:
                a = a + 0.08
                lt(3) #向左转3度
                fd(a) #向前走a的步长
            else:
                a = a - 0.08
                lt(3)
                fd(a)
        end_fill()
    
    
    def ears(x,y):
        """画耳朵"""
        color((255, 155, 192), "pink")
        penup()
        goto(x, y)
        pendown()
        begin_fill()
        setheading(100)
        circle(-50, 50)
        circle(-10, 120)
        circle(-50, 54)
        end_fill()
        penup()
        setheading(90)
        forward(-12)
        setheading(0)
        forward(30)
        pendown()
        begin_fill()
        setheading(100)
        circle(-50, 50)
        circle(-10, 120)
        circle(-50, 56)
        end_fill()
    
    
    def eyes(x,y):
        """画眼睛"""
        color((255, 155, 192), "white")
        penup()
        setheading(90)
        forward(-20)
        setheading(0)
        forward(-95)
        pendown()
        begin_fill()
        circle(15)
        end_fill()
        color("black")
        penup()
        setheading(90)
        forward(12)
        setheading(0)
        forward(-3)
        pendown()
        begin_fill()
        circle(3)
        end_fill()
        color((255, 155, 192), "white")
        penup()
        seth(90)
        forward(-25)
        seth(0)
        forward(40)
        pendown()
        begin_fill()
        circle(15)
        end_fill()
        color("black")
        penup()
        setheading(90)
        forward(12)
        setheading(0)
        forward(-3)
        pendown()
        begin_fill()
        circle(3)
        end_fill()
    
    
    def cheek(x,y):
        """画脸颊"""
        color((255, 155, 192))
        penup()
        goto(x,y)
        pendown()
        setheading(0)
        begin_fill()
        circle(30)
        end_fill()
    
    
    def mouth(x,y):
        """画嘴巴"""
        color(239, 69, 19)
        penup()
        goto(x, y)
        pendown()
        setheading(-80)
        circle(30, 40)
        circle(40, 80)
    
    
    def setting():
        """设置参数"""
        pensize(4)
        # 隐藏海龟
        hideturtle()
        colormode(255)
        color((255, 155, 192), "pink")
        setup(840, 500)
        speed(10)
    
    
    def main():
        """主函数"""
        setting() 
        nose(-100, 100)
        head(-69, 167)
        ears(0, 160)
        eyes(0, 140)
        cheek(80, 10)
        mouth(-20, 30)
        done()
    
    
    if __name__ == '__main__':
        main()

  •  

Publicado 46 artículos originales · elogios ganado 18 · Vistas a 30000 +

Supongo que te gusta

Origin blog.csdn.net/IGGIRing/article/details/105067711
Recomendado
Clasificación