Primeros programas con Python en cmd, recuerda que para editar o crear estos programas puedes realizarlos mediante blog de notas o en caso mas especial descarga el editor de texto para lenguajes de programación Notepad++, aquí abajo te dejo el link de la pagina oficial y puedas descargarlo.
Si quieres ver mas programas y aprender mas, dejo los enlaces de paginas que te puedan interesar:
- Ejemplos de Python:
- Como Programar en Python:
- Empezamos con nuestro primer ejercicio:
- 1. Verificar la edad establecida:
#encoding: utf-8
edad = 30
if edad >= 0 and edad < 18:
print "eres un niño"
elif edad >= 18 and edad < 27:
print "Eres un joven"
elif edad >= 27 and edad < 60:
print "Eres un adulto"
else:
print "Eres de la tercera edad"
- Resultado:
2.Uso de los Bucles:
edad = 0
while edad <= 20:
print "tienes : " + str(edad)
edad = edad + 1
---------------------------
edad = 0
while edad <= 20:
if edad == 15:
edad = edad + 1
continue
print "tienes : " + str(edad)
edad = edad + 1
Nota: Realizan la misma función pero en diferente sintaxis.
Bucle 1:
Bucle 2:
3. Uso de las librerías:
#uso de libreria datetime
import datetime
print (datetime.datetime.now())
4. Uso del Random (1):
import random
import random
# valor = random.randint(0,10)
lista = ["uno", "dos", 23,"cuatro"]
print lista
random.shuffle(lista)
print(lista)
5. Uso del Random (2):
import random
valor = random.randint(0,10)
print(valor)
6. Uso Librerías Sys:
import sys
import time
for i in range(100):
time.sleep(0.5)
sys.stdout.write("Texto")
7. Uso Librerías Sys (2):
import sys
import time
for i in range(100):
time.sleep(0.5)
sys.stdout.write("\r%d %%" % i)
Programa especial:
Elaborar un programa que proyecte 3 figuras en pantalla usando Notepad++ y ejecutado en Python.
Código:
- Circulo:
from Tkinter import *
root = Tk()
root.title('Ejemplo')
circulo = Canvas(width=210, height=210, bg='white')
circulo.pack(expand=YES, fill=BOTH)
circulo.create_oval(10, 10, 200, 200, width=5, fill='blue')
root.mainloop()
- Rectángulo:
from Tkinter import *root = Tk()
root.title('Ejemplo')
rectangulo = Canvas(width=210, height=210, bg='white')
rectangulo.pack(expand=YES, fill=BOTH)
rectangulo.create_rectangle(10, 10, 200, 200, width=5, fill='yellow')
root.mainloop()
- Lineas:
from Tkinter import *
root = Tk()
root.title('Ejemplo')
linea = Canvas(width=210, height=210, bg='white')
linea.pack(expand=YES, fill=BOTH)
linea.create_line(0, 200, 200, 0, width=10, fill='black')
linea.create_line(0, 0, 200, 200, width=10, fill='black')
root.mainloop()
root = Tk()
root.title('Ejemplo')
linea = Canvas(width=210, height=210, bg='white')
linea.pack(expand=YES, fill=BOTH)
linea.create_line(0, 200, 200, 0, width=10, fill='black')
linea.create_line(0, 0, 200, 200, width=10, fill='black')
root.mainloop()
Enlace de ayuda:
http://gmendezm.blogspot.mx/2012/12/tutorial-tkinter-python-gui.html
Para importar un módulo en Python escribimos
import nombredelmodulo
Otra forma de hacerlo es
from nombredelmodulo import *
Esto no les va a devolver nada porque el modulo nombre del modulo no existe. Pero básicamente estas son las formas que se usan más.
- Ventanas
Las ventanas se pueden configurar de diferentes formas. Veamos un ejemplo de una ventana.
Ejemplo 1:
from Tkinter import * # Importa el módulo
v0 = Tk() # Tk() Es la ventana principal
v0.mainloop() # Es el evento que llama al inicio de nuestro programa. Siempre lo lleva la ventana principal.
Esto nos lanza una ventana normal.
Ejemplo 2:
Ahora para colocarle fondo a la ventana sería:
from Tkinter import * # Importa el módulo
v0 = Tk() # Tk() Es la ventana principal
v0.config(bg="black") # Le da color al fondo
v0.mainloop() # Es el evento que llama al inicio de nuestro programa. Siempre lo lleva la ventana principal.
Ahora para colocarle fondo a la ventana sería:
from Tkinter import * # Importa el módulo
v0 = Tk() # Tk() Es la ventana principal
v0.config(bg="black") # Le da color al fondo
v0.mainloop() # Es el evento que llama al inicio de nuestro programa. Siempre lo lleva la ventana principal.
Ejemplo 3:
Vamos a crear una ventana de tipo Toplevel. En Python ocurre algo curioso, todas las ventanas creadas se abren al mismo tiempo. Por eso cuando creamos una ventana del tipo Toplevel, debemos ocultarla. Veamos un ejemplo:
from Tkinter import * # Importa el módulo
v0 = Tk() # Tk() Es la ventana principal
v0.config(bg="red") # Le da color al fondo
v0.geometry("500x500") # Cambia el tamaño de la ventana
v1=Toplevel(v0) # Crea una ventana hija
v0.mainloop() # Es el evento que llama al inicio de nuestro programa. Siempre lo lleva la ventana principal.
Ejemplo 4:
""" Ejemplo 4 """
""" Vamos a crear una ventana de tipo Toplevel. En Python ocurre algo curioso, todas las ventanas creadas se abren al mismo tiempo. Por eso cuando creamos una ventana del tipo Toplevel, debemos ocultarla. """
from Tkinter import *
v0 = Tk()
v0.config(bg="black")
v0.geometry("500x500")
v1=Toplevel(v0)
v0.mainloop()
Ejemplo 5:
""" Ejemplo 5 """
""" Crear una ventana mostrando dos botones, el cual muestre uno y oculte la otra ventana sin que permanezcan las dos abiertas """
from Tkinter import *
v0 = Tk()
v1=Toplevel(v0)
def mostrar(ventana): ventana.deiconify()
def ocultar(ventana):ventana.withdraw()
def ejecutar(f): v0.after(200,f)
v0.config(bg="black")
v0.geometry("500x500")
b1=Button(v0,text="ABRIR VENTANA V1",command=lambda: ejecutar(mostrar(v1)))
b1.grid(row=1,column=1)
b2=Button(v0,text="OCULTAR VENTANA V1",command=lambda: ejecutar(ocultar(v1)))
b2.grid(row=1,column=2)
v1.withdraw()
v0.mainloop()
Código actualizado:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
""" Ejemplo 5 """
""" Crear una ventana mostrando dos botones, el cual muestre uno y oculte la otra ventana sin que permanezcan las dos abiertas """
from Tkinter import *
ventanapri = Tk()
ventanasec=Toplevel(ventanapri)
def mostrar(ventana): ventana.deiconify()
def ocultar(ventana):ventana.withdraw()
def ejecutar(f): ventanapri.after(200,f)
def centrar(ventana):
ventana.update_idletasks()
w=ventana.winfo_width()
h=ventana.winfo_height()
extraW=ventana.winfo_screenwidth()-w
extraH=ventana.winfo_screenheight()-h
ventana.geometry("%dx%d%+d%+d" % (w,h,extraW/2,extraH/2))
ventanapri.config(bg="black")
ventanapri.geometry("500x500")
b1=Button(ventanapri,text="ABRIR VENTANA V1",command=lambda: ejecutar(mostrar(ventanasec)))
b1.grid(row=1,column=1)
b2=Button(ventanapri,text="OCULTAR VENTANA V1",command=lambda: ejecutar(ocultar(ventanasec)))
b2.grid(row=1,column=2)
b3=Button(ventanapri,text="CENTRAR VENTANA 1",command=lambda: ejecutar(centrar(ventanasec)))
b3.grid(row=1,column=3)
b4=Button(ventanapri,text="CERRAR PROGRAMA",command=lambda: ejecutar(exit(ventanapri)))
b4.grid(row=1,column=4)
ventanasec.withdraw()
ventanapri.mainloop()
--------------------------------------------------
Ahora, no sé si lo habrán notado, pero cuando cerramos la ventana, tira error, pero cuando la ocultamos no nos da error. Yo la solución que le encontré a esto, fue quitando la opción de cerrar ventana, y colocando un botón salir en cada ventana.
Para realizar eso se hace lo siguiente:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from Tkinter import * # Importa el módulo
ventanaprincipal = Tk() # Tk() Es la ventana principal
ventanaprincipal.title("Ventana Primaria")
ventanasechija = Toplevel(ventanaprincipal) # Crea una ventana hija
ventanasechija.title("Segunda Ventana")
ventanasechija.config(bg="Red") # Le da color al fondo
ventanasechija.geometry("500x500") # Cambia el tamaño de la ventana
ventanasechija.protocol("WM_DELETE_WINDOW", "onexit") # Elimina la opción de salir para evitar el error
def mostrar(ventana): ventana.deiconify() # Muestra una ventana
def ocultar(ventana): ventana.withdraw() # Oculta una ventana
def ejecutar(f): ventanaprincipal.after(200, f) # Una forma de ejecutar las funciones
def imprimir(texto): print texto # Imprime un texto
ventanaprincipal.config(bg="Black") # Le da color al fondo
ventanaprincipal.geometry("500x500") # Cambia el tamaño de la ventana
b1 = Button(ventanaprincipal, text="ABRIR VENTANA V1", command=lambda: ejecutar(mostrar(ventanasechija)) or imprimir("hola") or imprimir("tercera función")) # Primer botón
b1.grid(row=1, column=1) # El botón es cargado
b2 = Button(ventanasechija, text="OCULTAR VENTANA V1", command=lambda: ejecutar(ocultar(ventanasechija))) # Segundo botón
b2.grid(row=1, column=2) # El botón es cargado
b3 = Button(ventanaprincipal, text="SALIR", command=lambda: ejecutar(ocultar(ventanasechija)))
b3.grid(row=1, column=3) # El botón es cargado
ventanasechija.withdraw() # Oculta la ventana v1
ventanaprincipal.mainloop() # Es el evento que llama al inicio de nuestro programa. Siempre lo lleva la ventana principal.
from Tkinter import*
ventana = Tk() # Tk() Es la ventana principalventana.title("ventana de figura con boton")
ventana.config(bg="green") # Le da color al fondoventana.geometry("500x500") # Cambia el tamao de la ventana
ventana.geometry("500x500")
def ejecutar(f):
ventana.after(200, f) # Una forma de ejecutar las funciones
def circulo(ventana):
circulo = Canvas(width=210, height=210, bg='red') # aqui se crea el cuadro blanco donde aparece nuestra figura con su ancho y largo que estableci y su color
botoncir = Button(ventana, text="ver circulo",command=lambda: ejecutar(circulo(ventana))) #Primer boton
botoncir.grid(row=3, column=15) # El botn es cargado
botoncir.grid(row=1, column=1)
ventana.mainloop()
Código del programa: (Rectángulo)
from Tkinter import*
ventana = Tk() # Tk() Es la ventana principalventana.title("ventana de figura con boton")
ventana.config(bg="blue") # Le da color al fondoventana.geometry("500x500") # Cambia el tamao de la ventana
ventana.geometry("500x500")
def ejecutar(f):
ventana.after(200, f) # Una forma de ejecutar las funciones
def rectangulo(ventana):
rectangulo= Canvas(width=210, height=210, bg='red') # aqui se crea el cuadro blanco donde aparece nuestra figura con su ancho y largo que estableci y su color
from Tkinter import*
ventana = Tk() # Tk() Es la ventana principalventana.title("ventana de figura con boton")
ventana.config(bg="blue") # Le da color al fondoventana.geometry("500x500") # Cambia el tamao de la ventana
ventana.geometry("420x420")
def ejecutar(f):
ventana.after(200, f) # Una forma de ejecutar las funciones
def linea(ventana):
linea= Canvas(width=210, height=210, bg='red') # aqui se crea el cuadro blanco donde aparece nuestra figura con su ancho y largo que estableci y su color circulo.pack(expand=YES, fill=BOTH) # sierve para cargar la figura circulo.create_oval(10, 10, 200, 200, width=3, fill='blue') # radio,
linea.pack(expand=YES, fill=BOTH)
linea.create_line(0, 0, 420,420, width=10, fill='yellow')
botonline = Button(ventana, text="ver linea",
command=lambda:
ejecutar(linea(ventana))) # Primer boton
botonline.grid(row=4, column=5) # El botn es cargado
ventana.mainloop()
# -*- coding: utf-8 -*-
from Tkinter import*
ventanap = Tk()
ventanap.config(bg="black")
ventanap.geometry("500x500")
ventanap.title("Hacer rectangulo")
ventanah = Toplevel(ventanap)
ventanah.protocol("WM_DELETE_WINDOW", "onexit")
def ejecutar(f):
ventanah.after(200, f)
def mostrar(ventana):
ventana.deiconify()
def rectangulo(ven):
ventanah.deiconify()
rectangulo = Canvas(ventanah,width=210, height=210, bg="yellow")
rectangulo.pack(expand=YES, fill=BOTH)
rectangulo.create_rectangle(10, 10, 200, 200, width=3, fill='orange')
def linea(ven):
ventanah.deiconify()
linea = Canvas(ventanah,width=210, height=210, bg="white")
linea.pack(expand=YES, fill=BOTH)
linea.create_line(5, 5, 200, 200, width=3, fill='black')
def ocultar(ventana):
ventanah.withdraw()
def circulo(ven):
ventanah.deiconify()
circulo = Canvas(ventanah,width=210, height=210, bg="red")
circulo.pack(expand=YES, fill=BOTH)
circulo.create_oval(10, 10, 200, 200, width=3, fill='blue')
boton2= Button(ventanah, text="Cerrar", command=lambda: ejecutar(ocultar(ventanah)))
boton2.pack()
botoncir = Button(ventanap, text="ver circulo",command=lambda: ejecutar (circulo(ventanap)))
botoncir.grid(row=1, column=1)
botonrec = Button(ventanap, text="ver rectangulo",command=lambda: ejecutar (rectangulo(ventanap)))
botonrec.grid(row=1, column=2)
botonlin = Button(ventanap, text="ver linea",command=lambda: ejecutar (linea(ventanap)))
botonlin.grid(row=1, column=3)
ventanah.withdraw()
ventanap.mainloop()
Ejemplo 11(14):
Figura 2D corazón:
Ejemplo 12(15): (Actualizado)
Ejemplo 13(16): (Actualizado)
Ejemplo 13(16): (Actualización de Código)
v0 = Tk()
v1=Toplevel(v0)
def mostrar(ventana): ventana.deiconify()
def ocultar(ventana):ventana.withdraw()
def ejecutar(f): v0.after(200,f)
v0.config(bg="black")
v0.geometry("500x500")
b1=Button(v0,text="ABRIR VENTANA V1",command=lambda: ejecutar(mostrar(v1)))
b1.grid(row=1,column=1)
b2=Button(v0,text="OCULTAR VENTANA V1",command=lambda: ejecutar(ocultar(v1)))
b2.grid(row=1,column=2)
v1.withdraw()
v0.mainloop()
Código actualizado:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
""" Ejemplo 5 """
""" Crear una ventana mostrando dos botones, el cual muestre uno y oculte la otra ventana sin que permanezcan las dos abiertas """
from Tkinter import *
ventanapri = Tk()
ventanasec=Toplevel(ventanapri)
def mostrar(ventana): ventana.deiconify()
def ocultar(ventana):ventana.withdraw()
def ejecutar(f): ventanapri.after(200,f)
def centrar(ventana):
ventana.update_idletasks()
w=ventana.winfo_width()
h=ventana.winfo_height()
extraW=ventana.winfo_screenwidth()-w
extraH=ventana.winfo_screenheight()-h
ventana.geometry("%dx%d%+d%+d" % (w,h,extraW/2,extraH/2))
ventanapri.config(bg="black")
ventanapri.geometry("500x500")
b1=Button(ventanapri,text="ABRIR VENTANA V1",command=lambda: ejecutar(mostrar(ventanasec)))
b1.grid(row=1,column=1)
b2=Button(ventanapri,text="OCULTAR VENTANA V1",command=lambda: ejecutar(ocultar(ventanasec)))
b2.grid(row=1,column=2)
b3=Button(ventanapri,text="CENTRAR VENTANA 1",command=lambda: ejecutar(centrar(ventanasec)))
b3.grid(row=1,column=3)
b4=Button(ventanapri,text="CERRAR PROGRAMA",command=lambda: ejecutar(exit(ventanapri)))
b4.grid(row=1,column=4)
ventanasec.withdraw()
ventanapri.mainloop()
--------------------------------------------------
Ejemplo 6(9):
Para realizar eso se hace lo siguiente:
# -*- coding: utf-8 -*-
from Tkinter import * # Importa el módulo
ventanaprincipal = Tk() # Tk() Es la ventana principal
ventanaprincipal.title("Ventana Primaria")
ventanasechija = Toplevel(ventanaprincipal) # Crea una ventana hija
ventanasechija.title("Segunda Ventana")
ventanasechija.config(bg="Red") # Le da color al fondo
ventanasechija.geometry("500x500") # Cambia el tamaño de la ventana
ventanasechija.protocol("WM_DELETE_WINDOW", "onexit") # Elimina la opción de salir para evitar el error
def mostrar(ventana): ventana.deiconify() # Muestra una ventana
def ocultar(ventana): ventana.withdraw() # Oculta una ventana
def ejecutar(f): ventanaprincipal.after(200, f) # Una forma de ejecutar las funciones
def imprimir(texto): print texto # Imprime un texto
ventanaprincipal.config(bg="Black") # Le da color al fondo
ventanaprincipal.geometry("500x500") # Cambia el tamaño de la ventana
b1 = Button(ventanaprincipal, text="ABRIR VENTANA V1", command=lambda: ejecutar(mostrar(ventanasechija)) or imprimir("hola") or imprimir("tercera función")) # Primer botón
b1.grid(row=1, column=1) # El botón es cargado
b2 = Button(ventanasechija, text="OCULTAR VENTANA V1", command=lambda: ejecutar(ocultar(ventanasechija))) # Segundo botón
b2.grid(row=1, column=2) # El botón es cargado
b3 = Button(ventanaprincipal, text="SALIR", command=lambda: ejecutar(ocultar(ventanasechija)))
b3.grid(row=1, column=3) # El botón es cargado
ventanasechija.withdraw() # Oculta la ventana v1
ventanaprincipal.mainloop() # Es el evento que llama al inicio de nuestro programa. Siempre lo lleva la ventana principal.
Ejemplo 7(10):
Programa que abra una ventana y muestre una de las tres figuras.
Código del programa: (Circulo)
ventana = Tk() # Tk() Es la ventana principalventana.title("ventana de figura con boton")
ventana.config(bg="green") # Le da color al fondoventana.geometry("500x500") # Cambia el tamao de la ventana
ventana.geometry("500x500")
def ejecutar(f):
ventana.after(200, f) # Una forma de ejecutar las funciones
def circulo(ventana):
circulo = Canvas(width=210, height=210, bg='red') # aqui se crea el cuadro blanco donde aparece nuestra figura con su ancho y largo que estableci y su color
circulo.pack(expand=YES, fill=BOTH) # sierve para cargar la figura circulo.create_oval(10, 10, 200, 200, width=3, fill='blue') # radio,
circulo.pack(expand=YES, fill=BOTH)
circulo.create_oval(10, 10, 200, 200, width=5, fill='blue')
circulo.pack(expand=YES, fill=BOTH)
circulo.create_oval(10, 10, 200, 200, width=5, fill='blue')
botoncir = Button(ventana, text="ver circulo",command=lambda: ejecutar(circulo(ventana))) #Primer boton
botoncir.grid(row=3, column=15) # El botn es cargado
botoncir.grid(row=1, column=1)
ventana.mainloop()
Código del programa: (Rectángulo)
from Tkinter import*
ventana = Tk() # Tk() Es la ventana principalventana.title("ventana de figura con boton")
ventana.config(bg="blue") # Le da color al fondoventana.geometry("500x500") # Cambia el tamao de la ventana
ventana.geometry("500x500")
def ejecutar(f):
ventana.after(200, f) # Una forma de ejecutar las funciones
def rectangulo(ventana):
rectangulo= Canvas(width=210, height=210, bg='red') # aqui se crea el cuadro blanco donde aparece nuestra figura con su ancho y largo que estableci y su color
circulo.pack(expand=YES, fill=BOTH) # sierve para cargar la figura
circulo.create_oval(10, 10, 200, 200, width=3, fill='blue') # radio,
rectangulo.pack(expand=YES, fill=BOTH)
rectangulo.create_rectangle(10, 10, 200, 200, width=5, fill='yellow')
botonrect = Button(ventana, text="ver cuadro",
command=lambda:
ejecutar(rectangulo(ventana))) # Primer boton
botonrect.grid(row=4, column=5) # El botn es cargado
ventana.mainloop()
rectangulo.pack(expand=YES, fill=BOTH)
rectangulo.create_rectangle(10, 10, 200, 200, width=5, fill='yellow')
botonrect = Button(ventana, text="ver cuadro",
command=lambda:
ejecutar(rectangulo(ventana))) # Primer boton
botonrect.grid(row=4, column=5) # El botn es cargado
ventana.mainloop()
Código del programa: (Linea)
from Tkinter import*
ventana = Tk() # Tk() Es la ventana principalventana.title("ventana de figura con boton")
ventana.config(bg="blue") # Le da color al fondoventana.geometry("500x500") # Cambia el tamao de la ventana
ventana.geometry("420x420")
def ejecutar(f):
ventana.after(200, f) # Una forma de ejecutar las funciones
def linea(ventana):
linea= Canvas(width=210, height=210, bg='red') # aqui se crea el cuadro blanco donde aparece nuestra figura con su ancho y largo que estableci y su color circulo.pack(expand=YES, fill=BOTH) # sierve para cargar la figura circulo.create_oval(10, 10, 200, 200, width=3, fill='blue') # radio,
linea.pack(expand=YES, fill=BOTH)
linea.create_line(0, 0, 420,420, width=10, fill='yellow')
botonline = Button(ventana, text="ver linea",
command=lambda:
ejecutar(linea(ventana))) # Primer boton
botonline.grid(row=4, column=5) # El botn es cargado
ventana.mainloop()
Ejemplo 8(11):
Programa que abra una ventana y muestre una de las tres figuras, mediante tres botones que muestren las figuras.
Código del programa: (Circulo, rectángulo, linea, y cuadrado).
from Tkinter import*
ventanap = Tk()
ventanap.config(bg="black")
ventanap.geometry("500x500")
ventanap.title("Hacer rectangulo")
ventanah = Toplevel(ventanap)
ventanah.protocol("WM_DELETE_WINDOW", "onexit")
def ejecutar(f):
ventanah.after(200, f)
def mostrar(ventana):
ventana.deiconify()
def rectangulo(ven):
ventanah.deiconify()
rectangulo = Canvas(ventanah,width=210, height=210, bg="yellow")
rectangulo.pack(expand=YES, fill=BOTH)
rectangulo.create_rectangle(10, 10, 200, 200, width=3, fill='orange')
def linea(ven):
ventanah.deiconify()
linea = Canvas(ventanah,width=210, height=210, bg="white")
linea.pack(expand=YES, fill=BOTH)
linea.create_line(5, 5, 200, 200, width=3, fill='black')
def ocultar(ventana):
ventanah.withdraw()
def circulo(ven):
ventanah.deiconify()
circulo = Canvas(ventanah,width=210, height=210, bg="red")
circulo.pack(expand=YES, fill=BOTH)
circulo.create_oval(10, 10, 200, 200, width=3, fill='blue')
boton2= Button(ventanah, text="Cerrar", command=lambda: ejecutar(ocultar(ventanah)))
boton2.pack()
botoncir = Button(ventanap, text="ver circulo",command=lambda: ejecutar (circulo(ventanap)))
botoncir.grid(row=1, column=1)
botonrec = Button(ventanap, text="ver rectangulo",command=lambda: ejecutar (rectangulo(ventanap)))
botonrec.grid(row=1, column=2)
botonlin = Button(ventanap, text="ver linea",command=lambda: ejecutar (linea(ventanap)))
botonlin.grid(row=1, column=3)
ventanah.withdraw()
ventanap.mainloop()
NOTA: La variación de colores puede variar según el gusto y configuración del usuario.
Ejemplo 9(12):
Figuras animadas con Python.
Código establecido para realizar una secuencia de figuras en python dando la forma de un mosaico de colores.
Código:
# turtle honeycomb
# Lasse Kosiol
# 1.9.2012
# python workshop opentechschool berlin
import turtle
from random import randint
size = 20
circles = 20
turtle.speed(100)
turtle.colormode(255)
def move(length, angle):
turtle.right(angle)
turtle.forward(length)
def hex():
turtle.pendown()
turtle.color( randint(0,255),randint(0,255),randint(0,255) )
turtle.begin_fill()
for i in range(6):
move(size,-60)
turtle.end_fill()
turtle.penup()
# start
turtle.penup()
for circle in range (circles):
if circle == 0:
hex()
move(size,-60)
move(size,-60)
move(size,-60)
move(0,180)
for i in range (6):
move(0,60)
for j in range (circle+1):
hex()
move(size,-60)
move(size,60)
move(-size,0)
move(-size,60)
move(size,-120)
move(0,60)
turtle.exitonclick()
PARA MAS PROGRAMAS DE ESTE TIPO, PUEDES VISITAR:
https://www.pythoniza.me/dibujos-con-python-turtle/
Ejemplo 10(13):
Jugo realizado por mi compañero Armando Monreal, el cual es la estructura del tradicional juego del gato para dos personas, en la plataforma de python, agregando mejoras al código y formas para interactuar con el usuario.
NOTA DE COMPAÑERO:
Vídeo donde se explica un poco las funciones que se hicieron en el juego (Aclaro el vídeo no es de mi autoria y muestran como hacerlo en python 3.x, yo solo lo pase a 2.7):
Código:
from Tkinter import *
import tkMessageBox
import tkSimpleDialog
def bloq():
for i in range(0, 9):
lisb[i].config(state="disable")
def inij():
for i in range(0, 9):
lisb[i].config(state="normal")
lisb[i].config(bg="lightgray")
lisb[i].config(text="")
tab[i] = "N"
global nomj1, nomj2 # indica a que variables queremos acceder
nomj1 = tkSimpleDialog.askstring("Jugador", "Escribe el nombre del jugador 1: ")
nomj2 = tkSimpleDialog.askstring("Jugador", "Escribe el nombre del jugador 2: ")
turj.set("Turno: " + nomj1)
def cam(num):
global turno, nomj1, nomj2
if tab[num] == "N" and turno == 0:
lisb[num].config(text="X")
lisb[num].config(bg="white")
tab[num] = "X"
turno = 1
turj.set("Turno: " + nomj2)
elif tab[num] == "N" and turno == 1:
lisb[num].config(text="O")
lisb[num].config(bg="lightblue")
tab[num] = "O"
turno = 0
turj.set("Turno: " + nomj1)
lisb[num].config(state="disable")
verif()
def verif():
if (tab[0] == "X" and tab[1] == "X" and tab[2] == "X") or (tab[3] == "X" and tab[4] == "X" and tab[5] == "X") or (
tab[6] == "X" and tab[7] == "X" and tab[8] == "X"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj1)
elif (tab[0] == "X" and tab[3] == "X" and tab[6] == "X") or (tab[1] == "X" and tab[4] == "X" and tab[7] == "X") or (
tab[2] == "X" and tab[5] == "X" and tab[8] == "X"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj1)
elif (tab[0] == "X" and tab[4] == "X" and tab[8] == "X") or (tab[2] == "X" and tab[4] == "X" and tab[6] == "X"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj1)
elif (tab[0] == "O" and tab[1] == "O" and tab[2] == "O") or (tab[3] == "O" and tab[4] == "O" and tab[5] == "O") or (
tab[6] == "O" and tab[7] == "O" and tab[8] == "O"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj2)
elif (tab[0] == "O" and tab[3] == "O" and tab[6] == "O") or (tab[1] == "O" and tab[4] == "O" and tab[7] == "O") or (
tab[2] == "O" and tab[5] == "O" and tab[8] == "O"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj2)
elif (tab[0] == "O" and tab[4] == "O" and tab[8] == "O") or (tab[2] == "O" and tab[4] == "O" and tab[6] == "O"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj2)
ven = Tk()
ven.geometry("370x460")
ven.title("Juego del gato")
turno = 0
nomj1 = ""
nomj2 = ""
lisb = []
tab = []
turj = StringVar()
for i in range(0, 9):
tab.append("N")
b0 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(0))
lisb.append(b0)
b0.place(x=50, y=50)
b1 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(1))
lisb.append(b1)
b1.place(x=150, y=50)
b2 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(2))
lisb.append(b2)
b2.place(x=250, y=50)
b3 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(3))
lisb.append(b3)
b3.place(x=50, y=150)
b4 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(4))
lisb.append(b4)
b4.place(x=150, y=150)
b5 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(5))
lisb.append(b5)
b5.place(x=250, y=150)
b6 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(6))
lisb.append(b6)
b6.place(x=50, y=250)
b7 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(7))
lisb.append(b7)
b7.place(x=150, y=250)
b8 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(8))
lisb.append(b8)
b8.place(x=250, y=250)
tue = Label(ven, textvariable=turj).place(x=140, y=10)
bini = Button(ven, bg='blue', fg='white', text='Iniciar juego', cursor="sizing", width=15, height=3,
command=inij).place(x=130, y=360)
bloq()
linea = Canvas(ven, width=310, height=10)
linea.place(x=30, y=120)
linea.create_line(310, 0, 0, 0, width=25, fill='black')
l2 = Canvas(ven, width=310, height=10)
l2.place(x=30, y=220)
l2.create_line(310, 0, 0, 0, width=25, fill='black')
l3 = Canvas(ven, width=10, height=310)
l3.place(x=130, y=25)
l3.create_line(0, 310, 0, 0, width=25, fill='black')
l4 = Canvas(ven, width=10, height=310)
l4.place(x=230, y=25)
l4.create_line(0, 310, 0, 0, width=25, fill='black')
ven.mainloop()
Ejemplo 11(14):
Figura 2D corazón:
from turtle import *
def curvemove():
for i in range(200):
right(1)
forward(1)
color('red', 'pink')
begin_fill()
left(140)
forward(111.65)
curvemove()
left(120)
curvemove()
forward(111.65)
end_fill()
done()
La librería turtle simplemente lo que hace es la creación de lineas a partir de los comandos que le vamos dando.
Ejemplo 12(15): (Actualizado)
Ejemplo 12(15):
Programa que abra una ventana y muestre una de las figuras establecida, mediante los botones nuevos que se agregaron y que muestren las figuras.
Código del programa: (Circulo, rectángulo, linea,cuadrado, quesito,arco y figura completa).
# -*- coding: utf-8 -*- from Tkinter import* ventanap = Tk() ventanap.config(bg="black") ventanap.geometry("500x500") ventanap.title("Crear Figuras") ventanah = Toplevel(ventanap) ventanah.protocol("WM_DELETE_WINDOW", "onexit") ventanahija1 = Toplevel(ventanap) ventanahija1.protocol("WM_DELETE_WINDOW", "onexit") ventanahija2 = Toplevel(ventanap) ventanahija2.protocol("WM_DELETE_WINDOW", "onexit") ventanahija3 = Toplevel(ventanap) ventanahija3.protocol("WM_DELETE_WINDOW", "onexit") ventanahija4 = Toplevel(ventanap) ventanahija4.protocol("WM_DELETE_WINDOW", "onexit") ventanahija5 = Toplevel(ventanap) ventanahija5.protocol("WM_DELETE_WINDOW", "onexit") ventanahija6 = Toplevel(ventanap) ventanahija6.protocol("WM_DELETE_WINDOW", "onexit") def ejecutar(f): ventanah.after(200, f) def mostrar(ventana): ventana.deiconify() def rectangulo(ven): ventanahija2.deiconify() rectangulo = Canvas(ventanahija2,width=210, height=210, bg="white") rectangulo.pack(expand=YES, fill=BOTH) rectangulo.create_rectangle(10, 10, 200, 200, width=3, fill='pink') def linea(ven): ventanahija3.deiconify() linea = Canvas(ventanahija3,width=210, height=210, bg="blue") linea.pack(expand=YES, fill=BOTH) linea.create_line(5, 5, 200, 200, width=3, fill='red') def circulo(ven): ventanahija1.deiconify() circulo = Canvas(ventanahija1,width=210, height=210, bg="white") circulo.pack(expand=YES, fill=BOTH) circulo.create_oval(10, 10, 200, 200, width=3, fill='black') def quesito(ven): ventanahija4.deiconify() quesito = Canvas(ventanahija4, width=210, height=210, bg='white') quesito.pack(expand=YES, fill=BOTH) quesito.create_arc(10, 10, 190, 190, start=270, extent=90, fill='gray90') def arco(ven): ventanahija5.deiconify() arco = Canvas(ventanahija5, width=210, height=210, bg='white') arco.pack(expand=YES, fill=BOTH) xy = 10, 10, 190, 190 arco.create_arc(xy, start=0, extent=270, fill='gray60') def completo(ven): ventanahija6.deiconify() completo = Canvas(ventanahija6, width=210, height=210, bg='white') completo.pack(expand=YES, fill=BOTH) completo.create_arc(10, 10, 190, 190, start=270, extent=90, fill='gray90') xy = 10, 10, 190, 190 completo.create_arc(xy, start=0, extent=270, fill='gray60') def ocultar(ventana): ventana.withdraw() boton1= Button(ventanah, text="Cerrar", command=lambda: ejecutar(ocultar(ventanah))) boton1.pack() boton2= Button(ventanahija1, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija1))) boton2.pack() boton3= Button(ventanahija2, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija2))) boton3.pack() boton4= Button(ventanahija3, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija3))) boton4.pack() boton5= Button(ventanahija4, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija4))) boton5.pack() boton6= Button(ventanahija5, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija5))) boton6.pack() boton7= Button(ventanahija6, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija6))) boton7.pack() botoncir = Button(ventanap, text="Ver Circulo",command=lambda: ejecutar (circulo(ventanahija1))) botoncir.grid(row=1, column=1) botonrec = Button(ventanap, text="Ver Rectangulo",command=lambda: ejecutar (rectangulo(ventanahija2))) botonrec.grid(row=1, column=2) botonlin = Button(ventanap, text="Ver Linea",command=lambda: ejecutar (linea(ventanahija3))) botonlin.grid(row=1, column=3) botonques = Button(ventanap, text="Ver Quesito",command=lambda: ejecutar (quesito(ventanahija4))) botonques.grid(row=1, column=4) botonarc = Button(ventanap, text="Ver Arco",command=lambda: ejecutar (arco(ventanahija5))) botonarc.grid(row=1, column=5) botoncomp = Button(ventanap, text="Ver Figura Completa",command=lambda: ejecutar (completo(ventanahija6))) botoncomp.grid(row=1, column=6) ventanah.withdraw() ventanahija1.withdraw() ventanahija2.withdraw() ventanahija3.withdraw() ventanahija4.withdraw() ventanahija5.withdraw() ventanahija6.withdraw() ventanap.mainloop()
Ejemplo 13(16):
Programa que abra una ventana y muestre una de las figuras establecida, mediante los botones nuevos que se agregaron y que muestren las figuras.
Código del programa: (Circulo, rectángulo, linea,cuadrado, quesito,arco y figura completa, texto y polígono).
Código Actualizado:
# -*- coding: utf-8 -*- from Tkinter import* ventanap = Tk() ventanap.config(bg="black") ventanap.geometry("500x500") ventanap.title("Crear Figuras") ventanah = Toplevel(ventanap) ventanah.protocol("WM_DELETE_WINDOW", "onexit") ventanahija1 = Toplevel(ventanap) ventanahija1.protocol("WM_DELETE_WINDOW", "onexit") ventanahija2 = Toplevel(ventanap) ventanahija2.protocol("WM_DELETE_WINDOW", "onexit") ventanahija3 = Toplevel(ventanap) ventanahija3.protocol("WM_DELETE_WINDOW", "onexit") ventanahija4 = Toplevel(ventanap) ventanahija4.protocol("WM_DELETE_WINDOW", "onexit") ventanahija5 = Toplevel(ventanap) ventanahija5.protocol("WM_DELETE_WINDOW", "onexit") ventanahija6 = Toplevel(ventanap) ventanahija6.protocol("WM_DELETE_WINDOW", "onexit") ventanahija7 = Toplevel(ventanap) ventanahija7.protocol("WM_DELETE_WINDOW", "onexit") ventanahija8 = Toplevel(ventanap) ventanahija8.protocol("WM_DELETE_WINDOW", "onexit") def ejecutar(f): ventanah.after(200, f) def mostrar(ventana): ventana.deiconify() def rectangulo(ven): ventanahija2.deiconify() rectangulo = Canvas(ventanahija2,width=210, height=210, bg="white") rectangulo.pack(expand=YES, fill=BOTH) rectangulo.create_rectangle(10, 10, 200, 200, width=3, fill='pink') def linea(ven): ventanahija3.deiconify() linea = Canvas(ventanahija3,width=210, height=210, bg="blue") linea.pack(expand=YES, fill=BOTH) linea.create_line(5, 5, 200, 200, width=3, fill='red') def circulo(ven): ventanahija1.deiconify() circulo = Canvas(ventanahija1,width=210, height=210, bg="white") circulo.pack(expand=YES, fill=BOTH) circulo.create_oval(10, 10, 200, 200, width=3, fill='black') def quesito(ven): ventanahija4.deiconify() quesito = Canvas(ventanahija4, width=210, height=210, bg='white') quesito.pack(expand=YES, fill=BOTH) quesito.create_arc(10, 10, 190, 190, start=270, extent=90, fill='gray90') def arco(ven): ventanahija5.deiconify() arco = Canvas(ventanahija5, width=210, height=210, bg='white') arco.pack(expand=YES, fill=BOTH) xy = 10, 10, 190, 190 arco.create_arc(xy, start=0, extent=270, fill='gray60') def completo(ven): ventanahija6.deiconify() completo = Canvas(ventanahija6, width=210, height=210, bg='white') completo.pack(expand=YES, fill=BOTH) completo.create_arc(10, 10, 190, 190, start=270, extent=90, fill='gray90') xy = 10, 10, 190, 190 completo.create_arc(xy, start=0, extent=270, fill='gray60') def texto(ven): ventanahija7.deiconify() texto = Canvas(ventanahija7, width=210, height=210, bg='yellow') texto.pack(expand=YES, fill=BOTH) texto.create_text(100,70,fill= "black",font="3dsClara",text="HOLA\nME LLAMO\nEdgar Mendez Ruiz\n")def poligono(ven): ventanahija8.deiconify() poligono = Canvas(ventanahija8, width=700, height=600, bg='white') poligono.pack(expand=YES, fill=BOTH) poligono.create_polygon((200 ,400), (100,500), (100, 600), (200 ,500 ), (300 ,600), (300 ,500 ), (200, 400), (300 ,300), fill="green", outline="brown", width=2) poligono.create_polygon((200 ,200 ), (300 ,100), (500 , 100), (500,300), (400 ,400 ), (300 ,300),fill="red", outline="brown", width=2)def ocultar(ventana): ventana.withdraw() boton1= Button(ventanah, text="Cerrar", command=lambda: ejecutar(ocultar(ventanah))) boton1.pack() boton2= Button(ventanahija1, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija1))) boton2.pack() boton3= Button(ventanahija2, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija2))) boton3.pack() boton4= Button(ventanahija3, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija3))) boton4.pack() boton5= Button(ventanahija4, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija4))) boton5.pack() boton6= Button(ventanahija5, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija5))) boton6.pack() boton7= Button(ventanahija6, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija6))) boton7.pack() boton8= Button(ventanahija7, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija7))) boton8.pack() boton9= Button(ventanahija8, text="Cerrar", command=lambda: ejecutar(ocultar(ventanahija8))) boton9.pack() botoncir = Button(ventanap, text="Ver Circulo",command=lambda: ejecutar (circulo(ventanahija1))) botoncir.grid(row=1, column=1) botonrec = Button(ventanap, text="Ver Rectangulo",command=lambda: ejecutar (rectangulo(ventanahija2))) botonrec.grid(row=1, column=2) botonlin = Button(ventanap, text="Ver Linea",command=lambda: ejecutar (linea(ventanahija3))) botonlin.grid(row=1, column=3) botonques = Button(ventanap, text="Ver Quesito",command=lambda: ejecutar (quesito(ventanahija4))) botonques.grid(row=1, column=4) botonarc = Button(ventanap, text="Ver Arco",command=lambda: ejecutar (arco(ventanahija5))) botonarc.grid(row=1, column=5) botoncomp = Button(ventanap, text="Ver Figura Completa",command=lambda: ejecutar (completo(ventanahija6))) botoncomp.grid(row=1, column=6) botontext = Button(ventanap, text="Ver Texto",command=lambda: ejecutar (texto(ventanahija7))) botontext.grid(row=1, column=7) botonpol = Button(ventanap, text="Ver Poligono",command=lambda: ejecutar (poligono(ventanahija8))) botonpol.grid(row=1, column=8) ventanah.withdraw() ventanahija1.withdraw() ventanahija2.withdraw() ventanahija3.withdraw() ventanahija4.withdraw() ventanahija5.withdraw() ventanahija6.withdraw() ventanahija7.withdraw() ventanahija8.withdraw() ventanap.mainloop()
# -*- coding: utf-8 -*- from Tkinter import * v0 = Tk() v0.title("Bienvenido al Menu de Opciones") v0.config(bg="black") v0.geometry("700x500") def mostrar(num): v1 = Toplevel(v0) v1.title("Ventana hija") v1.protocol("WM_DELETE_WINDOW", "onexit") v1.config(bg="gray") if num == 1: v1.geometry("210x240") canvas = Canvas(v1, width=210, height=210, bg='white') canvas.pack(expand=YES, fill=BOTH) canvas.create_oval(10, 10, 200, 200, width=5, fill='blue') Boton1 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton1.pack() elif num == 2: v1.geometry("210x240") canvas = Canvas(v1,width=300, height=210, bg='white') canvas.pack(expand=YES, fill=BOTH) canvas.create_rectangle(10, 10, 200, 200, width=5, fill='red') Boton2 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton2.pack() elif num == 3: v1.geometry("210x240") canvas2 = Canvas(v1,width=300, height=210, bg='white') canvas2.pack(expand=YES, fill=BOTH) canvas2.create_line(0, 200, 200, 0, width=10, fill='green') canvas2.create_line(0, 0, 200, 200, width=10, fill='red') Boton3 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton3.pack() elif num == 4: v1.geometry("210x240") canvas = Canvas(v1, width=300, height=200, bg='white') canvas.pack(expand=YES, fill=BOTH) xy = 10, 10, 190, 190 canvas.create_arc(xy, start=0, extent=270, fill='gray60') Boton4 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton4.pack() elif num == 5: v1.geometry("210x240") canvas123 = Canvas(v1,width=300, height=200, bg='white') canvas123.pack(expand=YES, fill=BOTH) canvas123.create_arc(10, 10, 190, 190, start=270, extent=90, fill='gray90') Boton5 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton5.pack() elif num == 6: v1.geometry("210x240") canvas = Canvas(v1, width=300, height=200, bg='white') canvas.pack(expand=YES, fill=BOTH) xy = 10, 10, 190, 190 canvas.create_arc(xy, start=0, extent=270, fill='gray60') canvas.create_arc(10, 10, 190, 190, start=270, extent=90, fill='gray90') Boton6 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton6.pack() elif num == 7: v1.geometry("250x230") canvas = Canvas(v1, width=300, height=200, bg='white') canvas.pack(expand=YES, fill=BOTH) canvas.create_text(150,70,fill="Red",font="Times",text="Hola \nmundo \nsoy Edgar Emmanuel") Boton7 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton7.pack() elif num == 8: v1.geometry("250x250") canvas = Canvas(v1, width=300, height=200, bg='white') canvas.pack(expand=YES, fill=BOTH) canvas.create_polygon(40, 40, 40, 140, 140, 140, 140, 100,fill="lightblue", outline="brown", width=6) Boton8 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton8.pack() elif num == 9: v1.geometry("500x330") canvas = Canvas(v1, width=300, height=200, bg='white') canvas.pack(expand=YES, fill=BOTH) canvas.create_polygon(420,180,420,60,380,100,300,100,260,60,260,140,220,100,180,100, 140,140,140,80,150,80,200,40,200,20,160,20,90,80,100,160,120,270, 200,270,200,230,160,230,160,210,180,190,220,190,220,270,280,270, 280,230,260,230,260,180,400,200,360,220,320,220,280, 180, fill="lightblue", outline="brown", width=6) Boton9 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton9.pack() elif num == 10: v1.geometry("250x250") canvas = Canvas(v1, width=300, height=200, bg='white') canvas.pack(expand=YES, fill=BOTH) canvas.create_polygon(130,20,150,90,210,90,160,130, 180,200,130,160,80,200,100,130,50,90,110,90, fill="yellow", outline="black", width=3) Boton10 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton10.pack() elif num == 11: v1.geometry("230x230") canvas = Canvas(v1, width=300, height=200, bg='white') canvas.pack(expand=YES, fill=BOTH) canvas.create_polygon(37.29,21.55, 53.89,47.62,31,80,46.38,98.19,76.8,83.97,78.38,131.78,97.34,132.17, 98.92,98.19,135.67,97.4,136.85,134.15,155.03,133.75,153.84,80.81, 175.57,24.32,137.25,58.69,78.78,61.45,66.53,42.88, fill="lightblue", outline="brown", width=6) Boton11 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton11.pack() elif num == 12: v1.geometry("250x400") canvas = Canvas(v1, width=300, height=200, bg='black') canvas.pack(expand=YES, fill=BOTH) puntos = [00, 20, 60, 20, 80, 80, 120, 80, 160, 20, 220, 40, 180, 40, 140, 80, 160, 100, 160, 120, 160, 140, 140, 160, 180, 180, 200, 200, 200, 240, 180, 280, 140, 300, 180, 320, 180, 340, 120, 340, 100, 320, 80, 340, 20, 340, 20, 320, 60, 300, 20, 280, 00, 240, 00, 200, 20, 180, 60, 160, 40, 140, 40, 120, 40, 100, 60, 80, 40, 40] canvas.create_polygon(puntos, fill="white", outline="white", width=9) Boton12 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton12.pack() elif num == 13: v1.geometry("400x570") canvas = Canvas(v1, width=300, height=300, bg='white') canvas.pack(expand=YES, fill=BOTH) canvas.create_polygon(52.5, 14.5, 37, 59.1, 51, 59.1, fill="#5C554E", outline="#5C554E", width=1) canvas.create_polygon(19.3, 56.8, 58, 59.1, 67, 91, 37.5, 83, fill="#C3BAB5", outline="#C3BAB5", width=1) canvas.create_polygon(58, 57.8, 78, 77, 71, 103, fill="#D4CCC1", outline="#D4CCC1", width=1) canvas.create_polygon(37.5, 83, 67.4, 91, 71, 103, fill="#998C8A", outline="#998C8A", width=1) canvas.create_polygon(71, 103, 71, 104.8, 59.1, 104.8, 53.2, 91, fill="#665B57", outline="#665B57", width=1) canvas.create_polygon(86, 105.6, 98.2, 148.6, 47, 133.6, 24.2, 103.6, fill="#C3BAB5", outline="#C3BAB5", width=1) canvas.create_polygon(98.2, 148.6, 102, 165.2, 47, 133.6, fill="#9B8D8A", outline="#9B8D8A", width=1) canvas.create_polygon(86, 105.6, 124, 169, 120, 196, 110.8, 196, fill="#D5CDC2", outline="#D5CDC2", width=1) canvas.create_polygon(102, 165.2, 110.8, 196, 99, 196, 80.6, 153, fill="#605550", outline="#605550", width=1) canvas.create_polygon(139.5, 197, 147, 241, 71, 220.4, 46, 193, fill="#C3BAB5", outline="#C3BAB5", width=1) canvas.create_polygon(147, 241, 150, 261.4, 71, 220.4, fill="#968B87", outline="#968B87", width=1) canvas.create_polygon(139.5, 197, 193, 274.2, 189, 307.8, 176, 321, 161.6, 321, fill="#D4CCC1", outline="#D4CCC1", width=1) canvas.create_polygon(150, 261.4, 161.6, 321, 126.8, 249, fill="#605551", outline="#605551", width=1) canvas.create_polygon(199.4, 307.8, 189, 307.8, 176, 321, 186.6, 461, 184, 448.8, 171, 479.5, 199.4, 503, fill="#C2AD9C", outline="#C2AD9C", width=1) canvas.create_polygon(176, 321, 161.6, 321, 186.6, 461, fill="#615652", outline="#615652", width=1) canvas.create_polygon(161.6, 321, 136, 359.4, 177.2, 409, fill="#D9C6B7", outline="#D9C6B7", width=1) canvas.create_polygon(144.4, 369.8, 139.6, 384.6, 160, 389.4, fill="#443232", outline="#443232", width=1) canvas.create_polygon(139.6, 384.6, 160, 389.4, 177.2, 409, 169.2, 450, fill="#826E65", outline="#826E65", width=1) canvas.create_polygon(171, 479.5, 180.6, 497.8, 191.2, 496.8, fill="#463334", outline="#463334", width=1) canvas.create_polygon(177.2, 409, 164.8, 475, 176.5, 511, 199.4, 522, 199.4, 502.8, 191.2, 496.8, 180.6, 497.8, 171, 479.5, 184, 448.8, fill="#9B7F79", outline="#9B7F79", width=1) canvas.create_polygon(151.8, 335.4, 109.6, 280, 142.2, 349.2, fill="#5F5150", outline="#5F5150", width=1) canvas.create_polygon(109.6, 280, 70.3, 266, 94.3, 329, 131.3, 326, fill="#483636", outline="#483636", width=1) canvas.create_polygon(94.3, 329, 137, 336, 132, 326.8, fill="#C2AF9D", outline="#C2AF9D", width=1) canvas.create_polygon(115, 333, 136, 359.4, 142.2, 349.2, 137, 336, fill="#826E65", outline="#826E65", width=1) canvas.create_polygon(346.5, 14.5, 347.5, 59.1, 361, 59.1, fill="#2E2621", outline="#2E2621", width=1) canvas.create_polygon(379.4, 56.8, 341.8, 59.1, 332, 91, 361, 83, fill="#908782", outline="#908782", width=1) canvas.create_polygon(341.5, 57.8, 324, 75, 327.6, 103, fill="#A29B8F", outline="#A29B8F", width=1) canvas.create_polygon(361, 83, 332.4, 91, 329, 103, fill="#685D59", outline="#685D59", width=1) canvas.create_polygon(329, 103, 326.8, 104.8, 340, 104.8, 345.6, 91, fill="#2D2220", outline="#2D2220", width=1) canvas.create_polygon(313, 105.6, 301, 148.6, 352, 133.6, 374.5, 103.6, fill="#908782", outline="#908782", width=1) canvas.create_polygon(301, 148.6, 297, 165.2, 352, 133.6, fill="#625755", outline="#625755", width=1) canvas.create_polygon(313, 105.6, 274, 169, 279, 196, 288, 196, fill="#A1998E", outline="#A1998E", width=1) canvas.create_polygon(297, 165.2, 288, 196, 300, 196, 318, 153, fill="#2D221E", outline="#2D221E", width=1) canvas.create_polygon(260, 197, 252, 241, 331, 220.4, 352.4, 193, fill="#908782", outline="#908782", width=1) canvas.create_polygon(252, 241, 249, 261.4, 331, 220.4, fill="#645955", outline="#645955", width=1) canvas.create_polygon(260, 197, 205, 274.2, 209.8, 307.8, 223, 321, 238, 321, fill="#A1998E", outline="#A1998E", width=1) canvas.create_polygon(249, 261.4, 238.6, 321, 271.8, 249, fill="#2D221E", outline="#2D221E", width=1) canvas.create_polygon(199.4, 307.8, 209.8, 307.8, 223, 321, 212.6, 461, 215, 448.8, 228, 479.5, 199.4, 503, fill="#8E7968", outline="#8E7968", width=1) canvas.create_polygon(223, 321, 238.6, 321, 212.6, 461, fill="#302722", outline="#302722", width=1) canvas.create_polygon(238, 321, 262.8, 359.4, 222.5, 409, fill="#A69384", outline="#A69384", width=1) canvas.create_polygon(254.4, 369.8, 259.6, 384.6, 238, 389.4, fill="#120001", outline="#120001", width=1) canvas.create_polygon(259.6, 384.6, 238, 389.4, 222.5, 409, 229.5, 450, fill="#4F3B32", outline="#4F3B32", width=1) canvas.create_polygon(228, 479.5, 218.3, 497.8, 207.5, 496.8, fill="#180A04", outline="#180A04", width=1) canvas.create_polygon(222.5, 409, 234, 475, 223, 511, 199.4, 522, 199.4, 502.8, 207.5, 496.8, 218.3, 497.8, 228, 479.5, 215, 448.8, fill="#674C45", outline="#674C45", width=1) canvas.create_polygon(247, 335.4, 290.6, 280, 256.8, 349.2, fill="#281F1D", outline="#281F1D", width=1) canvas.create_polygon(290.6, 280, 328, 266, 304.8, 329, 267.5, 326, fill="#140202", outline="#140202", width=1) canvas.create_polygon(304.8, 329, 262.5, 336, 267.5, 326.8, fill="#8D7B66", outline="#8D7B66", width=1) canvas.create_polygon(283, 333, 262.8, 359.4, 256.8, 349.2, 262.5, 336, fill="#4D3930", outline="#4D3930", width=1) Boton13 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton13.pack() elif num == 14: v1.geometry("650x650") poligono = Canvas(v1, width=300, height=300, bg='white') poligono.pack(expand=YES, fill=BOTH) poligono.create_polygon((200, 400), (100, 500), (100, 600), (200, 500), (300, 600), (300, 500), (200, 400), (300, 300), fill="green", outline="brown", width=2) poligono.create_polygon((200, 200), (300, 100), (500, 100), (500, 300), (400, 400), (300, 300), fill="red", outline="brown", width=2) Boton14 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton14.pack() elif num == 15: v1.geometry("500x550") figura = Canvas(v1, width=500, height=500, bg='white') figura.pack(expand=YES, fill=BOTH) puntos = [226, 42, 198, 42, 170, 50, 141, 71, 127, 60, 108, 52, 94, 57, 85, 71, 85, 85, 95, 99, 108, 106, 120, 109, 127, 113, 127, 123, 142, 119, 161, 119, 178, 122, 189, 134, 192, 148, 189, 161, 176, 166, 160, 165, 142, 162, 156, 178, 170, 192, 192, 198, 207, 198, 198, 212, 170, 209, 151, 205, 132, 202, 113, 195, 108, 180, 99, 164, 80, 153, 57, 156, 38, 170, 34, 183, 35, 198, 42, 212, 56, 221, 71, 226, 85, 221, 104, 212, 127, 223, 152, 226, 175, 232, 189, 234, 184, 250, 184, 270, 184, 283, 190, 297, 196, 306, 184, 321, 180, 334, 178, 346, 180, 353, 188, 372, 212, 390, 194, 402, 181, 411, 170, 425, 170, 443, 176, 456, 190, 467, 208, 468, 227, 456, 275, 419, 276, 404, 269, 393, 252, 383, 236, 382, 221, 371, 206, 361, 201, 350, 203, 340, 209, 333, 221, 326, 237, 326, 255, 322, 270, 314, 280, 305, 297, 291, 311, 288, 335, 288, 354, 293, 368, 301, 378, 311, 386, 326, 403, 330, 411, 330, 462, 265, 461, 240, 450, 230, 435, 226, 421, 226, 406, 230, 396, 240, 380, 270, 354, 265, 332, 260, 311, 263, 297, 263, 283, 263, 278, 250, 264, 226, 283, 226, 297, 221, 312, 212, 330, 198, 346, 198, 363, 198, 375, 188, 382, 175, 386, 160, 382, 141, 362, 127, 334, 127, 326, 133, 312, 148, 312, 163, 315, 180, 304, 192, 290, 204, 273, 206, 255, 205, 241, 204, 234, 198, 255, 189, 269, 180, 278, 166, 286, 151, 291, 132, 292, 113, 289, 99, 283, 85, 280, 74, 269, 63, 255, 51, 234, 42] figura.create_polygon(puntos, fill="black", outline="white", width=6) Boton15 = Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1))) Boton15.pack() def ocultar(ventana):ventana.destroy() def ejecutar(f): v0.after(200, f) b1 = Button(v0, text="01 Circulo", command=lambda: ejecutar(mostrar(1)) ) b1.grid(row=1, column=1) b3 = Button(v0, text="02 Cuadrado", command=lambda: ejecutar(mostrar(2))) b3.grid(row=1, column=2) b3 = Button(v0, text="03 Lineas", command=lambda: ejecutar(mostrar(3))) b3.grid(row=1, column=3) b4 = Button(v0, text="04 Arco", command=lambda: ejecutar(mostrar(4))) b4.grid(row=1, column=4) b5 = Button(v0, text="05 Quesito", command=lambda: ejecutar(mostrar(5))) b5.grid(row=1, column=5) b6 = Button(v0, text="06 Quesito y Arco", command=lambda: ejecutar(mostrar(6))) b6.grid(row=2, column=1) b7 = Button(v0, text="07 Ventana Texto", command=lambda: ejecutar(mostrar(7))) b7.grid(row=2, column=2) b8 = Button(v0, text="08 Poligono #1", command=lambda: ejecutar(mostrar(8))) b8.grid(row=2, column=3) b9 = Button(v0, text="09 Poligono Gato", command=lambda: ejecutar(mostrar(9))) b9.grid(row=2, column=4) b10 = Button(v0, text="10 Poligono Estrella", command=lambda: ejecutar(mostrar(10))) b10.grid(row=2, column=5) b11 = Button(v0, text="11 Poligono Perro", command=lambda: ejecutar(mostrar(11))) b11.grid(row=3, column=1) b12 = Button(v0, text="12 Poligono Conejo", command=lambda: ejecutar(mostrar(12))) b12.grid(row=3, column=2) b13 = Button(v0, text="13 Poligono Antilope", command=lambda: ejecutar(mostrar(13))) b13.grid(row=3, column=3) b14 = Button(v0, text="14 Poligono Manzana", command=lambda: ejecutar(mostrar(14))) b14.grid(row=3, column=4) b15 = Button(v0, text="15 Poligono Monito", command=lambda: ejecutar(mostrar(15))) b15.grid(row=3, column=5) v0.mainloop()
Simbolo de paz
#!/usr/bin/env python3
from turtle import *
def main():
reset()
Screen()
up()
goto(-320, -195)
width(70)
width(25)
color("Black")
goto(0, -170)
down()
circle(170)
left(90)
forward(340)
up()
left(180)
forward(170)
right(45)
down()
forward(170)
up()
backward(170)
left(90)
down()
forward(170)
up()
goto(0, 300)
return "Done!"
if __name__ == "__main__":
main()
mainloop()
#!/usr/bin/env python3
from turtle import *
def main():
reset()
Screen()
up()
goto(-320, -195)
width(70)
width(25)
color("Black")
goto(0, -170)
down()
circle(170)
left(90)
forward(340)
up()
left(180)
forward(170)
right(45)
down()
forward(170)
up()
backward(170)
left(90)
down()
forward(170)
up()
goto(0, 300)
return "Done!"
if __name__ == "__main__":
main()
mainloop()
0 comentarios:
Publicar un comentario