Tuesday, December 3, 2019

VIDEO JUEGO DE PONG EN PYTHON

Hecho por: Cassandra González y Brandon Esquivel.

Es el código de un videojuego en Python, siendo el proyecto final de la materia de Graficación.

import turtle
#Creacion de ventana
wn = turtle.Screen()
wn.title("Pong By Brandon and cassandra")
wn.bgcolor("black")
wn.setup(width = 800, height = 600)
wn.tracer(0) #Fluidez del Juego
#Marcador
marcadorA = 0
marcadorB = 0
#JugadorA
jugadorA = turtle.Turtle()
jugadorA.speed(0) #Velocidad
jugadorA.shape("square")
jugadorA.color("white")
jugadorA.penup() #Quita una linea, por defecto cuando se crea un cuadrado este se pone en el centro y simplemente con esta opcion la ocultamos
jugadorA.goto(-350, 0)
jugadorA.shapesize(stretch_wid=5, stretch_len = 1) #Son las dimensiones de nuestro rectangulo para el jugadorA
#JugadorB
jugadorB = turtle.Turtle()
jugadorB.speed(0)
jugadorB.shape("square")
jugadorB.color("white")
jugadorB.penup()
jugadorB.goto(350, 0)
jugadorB.shapesize(stretch_wid=5, stretch_len = 1)
#Pelota
pelota = turtle.Turtle()
pelota.shape("square")
pelota.color("white")
pelota.penup()
pelota.goto(0,0)
pelota.dx = 0.5 #La pelota se ira moviendo 3 pixeles en el eje x
pelota.dy = 0.5 #La pelota se ira moviendo 3 pixeles en el eje y
#Linea de Division
division = turtle.Turtle()
division.color("white")
division.goto(0,400)
division.goto(0,-400)
#Pen
pen = turtle.Turtle()
pen.speed(0)
pen.color("white")
pen.penup()
pen.hideturtle() #Crea una imagen pero despues la borra
pen.goto(0,260)
pen.write("Jugador A: 0 Jugador B: 0", align = "center", font=("Courier", 24, "normal"))
#FUNCIONES
#Movimiento JugadorA
def jugadorA_up():
y = jugadorA.ycor() #Guardara la coordenada en la que estamos
y += 20 #Aumentara 20 Pixeles al moverse
jugadorA.sety(y) #Actualizaremos la coordenada
def jugadorA_down():
y = jugadorA.ycor() #Guardara la coordenada en la que estamos
y -= 20 #Disminuira 20 Pixeles al moverse
jugadorA.sety(y) #Actualizaremos la coordenada
#Movimiento JugadorB
def jugadorB_up():
y = jugadorB.ycor()
y += 20
jugadorB.sety(y)
def jugadorB_down():
y = jugadorB.ycor()
y -= 20
jugadorB.sety(y)
#EVENTOS DEL TECLADO
wn.listen()
wn.onkey(jugadorA_up, 'w') #Tambien podria ser wn.onkeypress(jugadorA_up, "w")aunque en mi caso consulte en un foro y me soluciono el problema
wn.onkey(jugadorA_down, 's') #Mismo caso que lo anterior
wn.onkey(jugadorB_up, 'Up') #Tecla de flecha arriba
wn.onkey(jugadorB_down, 'Down') #Tecla de flecha abajo
#Bucle principal (Motor del juego)
while True:
wn.update()
pelota.setx(pelota.xcor() + pelota.dx)
pelota.sety(pelota.ycor() + pelota.dy)
#BORDES
if pelota.ycor() > 290:
pelota.dy *= -1 #Aqui la direccion se invertira en contra de la pared
if pelota.ycor() < -290:
pelota.dy *= -1
#BORDES DERECHA/IZQUIERDA
if pelota.xcor() > 390:
pelota.goto(0,0) #Redimenzionamos la pelota
pelota.dx *= -1 #Cambia de lado la pelota
marcadorA += 1 #Puntuacion
pen.clear()
pen.write("Jugador A: {} Jugador B: {}".format(marcadorA,marcadorB), align = "center", font=("Courier", 24, "normal"))
if pelota.xcor() < -390:
pelota.goto(0,0)
pelota.dx *= -1
marcadorB += 1
pen.clear()
pen.write("Jugador A: {} Jugador B: {}".format(marcadorA,marcadorB), align = "center", font=("Courier", 24, "normal"))
#COLISIONES
if ((pelota.xcor() > 340 and pelota.xcor() < 350)
and (pelota.ycor() < jugadorB.ycor() + 50
and pelota.ycor() > jugadorB.ycor() - 50)):
pelota.dx *= -1 #Se revierte el eje x de la pelota
if ((pelota.xcor() < -340 and pelota.xcor() > -350)
and (pelota.ycor() < jugadorA.ycor() + 50
and pelota.ycor() > jugadorA.ycor() - 50)):
pelota.dx *= -1
view raw Pong.py hosted with ❤ by GitHub

Wednesday, November 27, 2019

MI FIGURA 3D EN PYTHON

Código de una prisma octagonal en 3D.


import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
verticies = (
(0.2,0.4,0),
(0.4,0.2,0),
(0.4,-0.2,0),
(0.2,-0.4,0),
(-0.2,-0.4,0),
(-0.4,-0.2,0),
(-0.4,0.2,0),
(-0.2,0.4,0),
(0.2,0.4,1.5),
(0.4,0.2,1.5),
(0.4,-0.2,1.5),
(0.2,-0.4,1.5),
(-0.2,-0.4,1.5),
(-0.4,-0.2,1.5),
(-0.4,0.2,1.5),
(-0.2,0.4,1.5)
)
edges = (
(0,1),
(1,2),
(2,3),
(3,4),
(4,5),
(5,6),
(6,7),
(7,0),
(8,9),
(9,10),
(10,11),
(11,12),
(12,13),
(13,14),
(14,15),
(15,8),
(0,8),
(1,9),
(2,10),
(3,11),
(4,12),
(5,13),
(6,14),
(7,15)
)
def Cube():
glBegin(GL_LINES)
for edge in edges:
for vertex in edge:
glVertex3fv(verticies[vertex])
glEnd()
def main():
pygame.init()
display = (800,600)
pygame.display.set_mode(display, DOUBLEBUF|OPENGL)
gluPerspective(45, (display[0]/display[1]), 0.1, 50.0)
glTranslatef(0.0,0.0, -5)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
glRotatef(1, 3, 1, 1)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
Cube()
pygame.display.flip()
pygame.time.wait(10)
main()
view raw mifigura3d.py hosted with ❤ by GitHub
Figuras en Python con la librería Pygame

Cubo 3D 


import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
verticies = (
(1, -1, -1),
(1, 1, -1),
(-1, 1, -1),
(-1, -1, -1),
(1, -1, 1),
(1, 1, 1),
(-1, -1, 1),
(-1, 1, 1)
)
edges = (
(0,1),
(0,3),
(0,4),
(2,1),
(2,3),
(2,7),
(6,3),
(6,4),
(6,7),
(5,1),
(5,4),
(5,7)
)
def Cube():
glBegin(GL_LINES)
for edge in edges:
for vertex in edge:
glVertex3fv(verticies[vertex])
glEnd()
def main():
pygame.init()
display = (800,600)
pygame.display.set_mode(display, DOUBLEBUF|OPENGL)
gluPerspective(45, (display[0]/display[1]), 0.1, 50.0)
glTranslatef(0.0,0.0, -5)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
glRotatef(1, 3, 1, 1)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
Cube()
pygame.display.flip()
pygame.time.wait(10)
main()
view raw cubo.py hosted with ❤ by GitHub


Triángulo 3D

import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
verticies = (
(1, -1, -1),
(1, 1, -1),
(-1, 1, -1),
(-1, -1, -1),
(0,0,1)
)
edges = (
(4,0),
(4,1),
(4,2),
(4,3),
(0,1),
(0,3),
(2,1),
(2,3)
)
def Cube():
glBegin(GL_LINES)
for edge in edges:
for vertex in edge:
glVertex3fv(verticies[vertex])
glEnd()
def main():
pygame.init()
display = (800,600)
pygame.display.set_mode(display, DOUBLEBUF|OPENGL)
gluPerspective(45, (display[0]/display[1]), 0.1, 50.0)
glTranslatef(0.0,0.0, -5)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
glRotatef(1, 3, 1, 1)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
Cube()
pygame.display.flip()
pygame.time.wait(10)
main()
view raw trian.py hosted with ❤ by GitHub

Monday, November 25, 2019

MI INTERFAZ EN PYTHON

Interfaz creada por Cassandra González y Brandon Esquivel.

Incluye código con todos sus componentes y la conexión a la base de datos MongoDB.


# -*- coding: utf-8 -*-
from Tkinter import *
import tkMessageBox
import tkSimpleDialog
global nom,totf,LI,CC,MC,PC,SPA,DP,AU,PE,MA,formapago
from pymongo import MongoClient
def servicios():
costo = 0
cort= corte.get()
mani = manicure.get()
pedi = pedicure.get()
espa = spa.get()
depi = depilacion.get()
app = appunas.get()
pein = peinados.get()
makeup = maquillaje.get()
if cort == 1:
costo = costo + 60;
if mani == 1:
costo = costo + 100;
if pedi == 1:
costo = costo + 100;
if espa == 1:
costo = costo + 250;
if depi == 1:
costo = costo + 80;
if app == 1:
costo = costo + 150;
if pein == 1:
costo = costo + 300;
if makeup == 1:
costo = costo + 350;
return costo
def impuesto():
imp = (0.15 * servicios())
return imp
def listapedido():
cad=""
opcion = lista.get()
cort = corte.get()
mani = manicure.get()
pedi = pedicure.get()
espa = spa.get()
depi = depilacion.get()
app = appunas.get()
peina = peinados.get()
makeup = maquillaje.get()
doll = dolly.get()
sk = skay.get()
pepe = pp.get()
moni = mon.get()
pedido = Listbox(miFrame, width=50)
if opcion != "Servicios" or cort == 1 or mani == 1 or pedi == 1 or espa == 1 or depi == 1 \
or app == 1 or peina == 1 or makeup == 1 or doll == 1 or sk == 1 or pepe == 1 or moni == 1:
if opcion == "Corte":
cad += "Corte de cabello $60 pesos"
elif opcion == "Manicure":
cad += "Manicure $100 pesos"
elif opcion == "Pedicure":
cad += "Pedicure $100 pesos"
elif opcion == "SPA":
cad += "SPA $250 pesos"
elif opcion == "Depilacion":
cad += "Depilacion $80 pesos"
elif opcion == "Aplicacion de unas":
cad += "Aplicacion de unas $150 pesos"
elif opcion == "Peinado":
cad += "Peinado $300 pesos"
elif opcion == "Maquillaje":
cad += "Maquillaje $350 pesos"
elif opcion == "Dolly":
cad += "Colectora: Dolly"
elif opcion == "Skayla":
cad += "Colectora: Skayla"
elif opcion == "Pepe Esquivel":
cad += "Colector: Pepe Esquivel"
elif opcion == "Monica Maldonado":
cad += "Colectora: Monica Maldonado"
pedido.insert(0, cad)
# insert
if cort == 1:
pedido.insert(1, "Corte de cabello $60 pesos")
if mani == 1:
pedido.insert(2, "Manicure $100 pesos")
if pedi == 1:
pedido.insert(3, "Pedicure $100 pesos")
if espa == 1:
pedido.insert(4, "SPA $250 pesos")
if depi == 1:
pedido.insert(5, "Depilacion $80 pesos")
if app == 1:
pedido.insert(6, "Aplicacion de unas $150 pesos")
if peina == 1:
pedido.insert(7, "Peinado $300 pesos")
if makeup == 1:
pedido.insert(8, "Maquillaje $350 pesos")
if doll == 1:
pedido.insert(9, "Colectora: Dolly")
if sk == 1:
pedido.insert(10, "Colectora:Skayla")
if pepe == 1:
pedido.insert(11, "Colector: Pepe Esquivel")
if moni == 1:
pedido.insert(12, "Colectora: Monica Maldonado")
pedido.place(x = 400, y = 250)
def totali():
total = servicios()
return total
def totalf():
LI = lista.get()
CC = corte.get()
MC = manicure.get()
PC = pedicure.get()
SPA = spa.get()
DP = depilacion.get()
AU = appunas.get()
PE = peinados.get()
MA = maquillaje.get()
formapago= secpago.get()
totf=0
if LI != "Colectora de belleza" or CC == 1 or MC == 1 or PC == 1 or SPA == 1 or DP == 1 or AU == 1 or PE ==1 or MA == 1:
if LI == "Doly":
print "Su colector de Belleza es Dolly"
elif LI == "Skayla":
print "Su colector de Belleza es Skayla"
elif LI == "Pepe Esquivel":
print "Su colector de Belleza es Pepe Esquivel"
elif LI == "Monica Maldonado":
print "Su colector de Belleza es Monica Maldonado"
if CC == 1:
print "Agrego Corte de Pelo"
if MC == 1:
print "Agrego Manicure"
if PC == 1:
print "Agrego Pedicure"
if SPA == 1:
print "Agrego SPA"
if DP == 1:
print "Agrego Depilacion"
if AU == 1:
print "Agrego Aplicacion de Uñas"
if PE == 1:
print "Agrego Peinados"
if MA == 1:
print "Agrego Maquillaje"
if formapago ==1:
totf=totali()
iva=0
FP="Efectivo"
print "Forma de pago: ",FP
elif formapago ==2:
totf=totali()+impuesto()
iva=impuesto()
FP="Tarjeta de Credito"
print "Forma de pago: ",FP
l10 = Label(miFrame, text=totali(), fg="white", bg="pink", font=("Verdana", 16)).place(x=520, y=420)
l12 = Label(miFrame, text=iva, fg="white", bg="pink", font=("Verdana", 16)).place(x=520, y=460)
l14 = Label(miFrame, text=totf, fg="white", bg="pink", font=("Verdana", 16)).place(x=520, y=500)
conexion(LI,CC,MC,PC,SPA,DP,AU,PE,MA,formapago,totf)
def conexion(LI,CC,MC,PC,SPA,DP,AU,PE,MA,formapago,totf):
print 'envio a base de datos'
client = MongoClient('localhost', 27017)
db = client['Venta']
document = {'Colectora_Belleza': LI, 'Corte_Cabello': CC, 'Manicure': MC,
'Pedicure': PC, 'SPA': SPA, 'Depilacion': DP, 'Aplicacion_unas': AU,
'Peinados': PE, 'Maquillaje': MA, 'tipo_pago': formapago, 'total': totf}
_id = db['Citas'].insert(document)
print _id
return
def limpiarlista():
tkMessageBox.showinfo("Limpieza de Registros", "Se han limpiado todos los registros")
corte.set(0)
manicure.set(0)
pedicure.set(0)
spa.set(0)
depilacion.set(0)
appunas.set(0)
peinados.set(0)
maquillaje.set(0)
listapedido()
#Boton CONFIRMAR
def confirmacion():
tkMessageBox.showinfo('GRACIAS', 'Tu compra se ha realizado con éxito.')
#Boton CANCELAR
def cancelar():
if tkMessageBox.askokcancel("Cancelar", "¿Quieres salir?"):
if tkMessageBox.askokcancel("Cancelar", "¿Estas seguro?"):
if tkMessageBox.askokcancel("Cancelar", "¿Enserio?"):
raiz.destroy()
#Creacion de la ventana principal
raiz = Tk() #Creacion de la ventana
#raiz.resizable(0,0)
raiz.title("Beuty Salon")
raiz.iconbitmap("cambio-de-imagen.ico")
raiz.config(bg="white") #Color del Background o Raiz
nom = ""
nom = tkSimpleDialog.askstring("Cliente","Escriba su nombre: ")
#Creacion de Frame
miFrame = Frame(raiz, width=800, height=650)
miFrame.pack(fill="both", expand="True")
miFrame.config(bg="pink") #Color del background del Frame
miFrame.config(width=800, height=650) #Para cargar la dimension solo ocultamos la raiz.geometry para que se adapte al Frame
miFrame.config(relief="groove") #Borde
miFrame.config(bd=25) #Tamaño del Borde
#MENU
menubar = Menu(raiz)
raiz.config(menu=menubar)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Nuevo")
filemenu.add_command(label="Abrir")
filemenu.add_command(label="Guardar")
filemenu.add_command(label="Cerrar")
filemenu.add_separator()
filemenu.add_command(label="Salir", command=raiz.quit)
editmenu = Menu(menubar, tearoff=0)
editmenu.add_command(label="Cortar")
editmenu.add_command(label="Copiar")
editmenu.add_command(label="Pegar")
helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="Ayuda")
helpmenu.add_separator()
helpmenu.add_command(label="Acerca de...")
menubar.add_cascade(label="Archivo", menu=filemenu)
menubar.add_cascade(label="Editar", menu=editmenu)
menubar.add_cascade(label="Ayuda", menu=helpmenu)
#Etiqueta del titulo
l1=Label(miFrame, text="BEAUTY SALON", fg="white", bg="pink", font=("Verdana", 25, "bold")).place(x=200, y=20)
#Codigo del logo
imagen=PhotoImage(file="cambio-de-imagen2.gif")
imagen = imagen.zoom(10)
imagen = imagen.subsample(20)
Label(miFrame, image=imagen).place(x = 600, y =20)
#Etiquetas principales
l2=Label(miFrame, text="Bienvenido a Beauty Salon", fg="white", bg="pink", font=("Verdana", 18)).place(x=10, y=100)
l3=Label(miFrame, text="Nombre del cliente: ", fg="white", bg="pink", font=("Verdana", 14)).place(x=10, y=150)
labelnom = Label(miFrame, text=nom,fg="white", bg="pink", font=("Verdana", 14)).place(x=220, y=150)
l4=Label(miFrame, text="Correo electronico: ", fg="white", bg="pink", font=("Verdana", 14)).place(x=10, y=194)
e2=Entry(miFrame).place(x=220, y=200)
l5=Label(miFrame, text="Seleccione el servicio que desee: ", fg="white", bg="pink", font=("Verdana", 14)).place(x=10, y=250)
paso1=Label(miFrame, text="PASO 1: ", fg="white", bg="pink", font=("Verdana", 10, "bold")).place(x=10, y=230)
paso2=Label(miFrame, text="PASO 2: ", fg="white", bg="pink", font=("Verdana", 10, "bold")).place(x=10, y=360)
#Checkbuttons
corte=IntVar()
manicure=IntVar()
pedicure=IntVar()
spa=IntVar()
depilacion=IntVar()
appunas=IntVar()
peinados=IntVar()
maquillaje=IntVar()
c1 = Checkbutton(miFrame, text="Corte de cabello",activebackground="pink", fg="black", bg="pink", font=("Verdana", 10),
variable=corte, onvalue=1,offvalue=0).place(x=10, y=280)
c2= Checkbutton(miFrame, text="Manicure",activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=manicure, onvalue=1,offvalue=0).place(x=10, y=300)
c3 = Checkbutton(miFrame, text="Pedicure", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=pedicure, onvalue=1,offvalue=0).place(x=10, y=320)
c4 = Checkbutton(miFrame, text="SPA", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=spa, onvalue=1,offvalue=0).place(x=10, y=340)
c5 = Checkbutton(miFrame, text="Depilación", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=depilacion, onvalue=1,offvalue=0).place(x=180, y=280)
c6 = Checkbutton(miFrame, text="Aplicación de uñas", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=appunas, onvalue=1,offvalue=0).place(x=180, y=300)
c7 = Checkbutton(miFrame, text="Peinados", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=peinados, onvalue=1,offvalue=0).place(x=180, y=320)
c8 = Checkbutton(miFrame, text="Maquillaje", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=maquillaje, onvalue=1,offvalue=0).place(x=180, y=340)
#Lista despegable
l6=Label(miFrame, text="Seleccione su colectora de belleza: ", fg="white", bg="pink", font=("Verdana", 14)).place(x=10, y=380)
lista=StringVar(miFrame)
lista.set("Colectora de belleza")
dolly = StringVar()
skay = StringVar()
pp = StringVar()
mon = StringVar()
opciones=["Dolly","Skayla", "Pepe Esquivel", "Monica Maldonado"]
opcion=OptionMenu(miFrame,lista,*opciones).place(x = 10, y = 420)
#Radiobuttons
l7=Label(miFrame, text="Tipo de pago ", fg="white", bg="pink", font=("Verdana", 14)).place(x=10, y=460)
secpago = IntVar()
R1 = Radiobutton(miFrame, text="Efectivo",bg="pink", variable=secpago, value=1).place(x = 10, y = 500)
R2 = Radiobutton(miFrame, text="Tarjeta de credito",bg="pink", variable=secpago, value=2).place(x = 10, y = 520)
l8=Label(miFrame, text="Concepto(s)", fg="white", bg="pink", font=("Verdana", 16)).place(x=470, y=200)
#Listbox
concepto= Listbox(miFrame, width=50).place(x = 400, y = 250)
#Etiquetas de la compra
l9=Label(miFrame, text="Subtotal= ", fg="white", bg="pink",font=("Verdana", 16)).place(x=400, y=420)
#l10=Label(miFrame, text="...", fg="white", bg="pink",font=("Verdana", 16)).place(x=520, y=420)
l11=Label(miFrame, text="IVA= ", fg="white", bg="pink",font=("Verdana", 16)).place(x=400, y=460)
#l12=Label(miFrame, text="... ", fg="white", bg="pink",font=("Verdana", 16)).place(x=520, y=460)
l13=Label(miFrame, text="Total= ", fg="white", bg="pink",font=("Verdana", 16)).place(x=400, y=500)
#l14=Label(miFrame, text=, fg="white", bg="pink",font=("Verdana", 16)).place(x=520, y=500)
#Botones
limpiar=Button(miFrame, text= "LIMPIAR", command=limpiarlista).place(x = 10, y = 560)
cancelar=Button(miFrame, text= "CANCELAR",command=cancelar).place(x = 80, y = 560)
confirmar=Button(miFrame, text= "CONFIRMAR", command=confirmacion).place(x = 550, y = 560)
hacerpedido=Button(miFrame, text= "HACER PEDIDO",command=listapedido).place(x = 280, y = 350)
total=Button(miFrame, text="TOTAL COMPRA", command=totalf).place(x = 430, y = 560)
raiz.mainloop()
view raw Interfaz.py hosted with ❤ by GitHub


Conexión a la base de datos Mongo.

Tuesday, November 19, 2019

Interfaz Conexión con MongoDB

Programa de Alfredo y Cynthia

Para lograr la conexión se tiene que tener abierto el servidor de mongod y mongo.


#!/usr/bin/python
# -*- coding: utf-8 -*-
from Tkinter import *
import Tkinter as tk
import tkMessageBox
global cad,TH,CH,PR,CR,PP,CP,PB,CB,totf,iva,totalP,FP
from pymongo import MongoClient
def thamb():
hamb=var1.get()
cantidad=cant.get()
costohamb = 0
if hamb == "Hamburguesa sencilla":
costohamb=15
elif hamb == "Hamburguesa Doble":
costohamb=25
elif hamb == "Hamburguesa triple":
costohamb=35
costo=cantidad*costohamb
return costo
def comp():
costocomp=0
cantidadR = cant1.get()
cantidadP = cant2.get()
cantidadB = cant3.get()
refresco=CheckVar1.get()
papas=CheckVar2.get()
burrito=CheckVar3.get()
if refresco ==1:
costocomp=costocomp+(15*cantidadR)
if papas ==1:
costocomp=costocomp+(20*cantidadP)
if burrito ==1:
costocomp=costocomp+(18*cantidadB)
return costocomp
def impuesto():
imp = (0.15 * (thamb() + comp()))
return imp
def limpiarcajas():
cuadrohamb.delete(0, 'end')
cuadrorefresco.delete(0,'end')
cuadroburrito.delete(0,'end')
cuadropapas.delete(0,'end')
limpiarbotones()
def limpiarbotones():
var1.set("No ha selecionado")
CheckVar1.set(None)
CheckVar2.set(None)
CheckVar3.set(None)
var.set(None)
rtotalfinal = Label(miFrame, text=" ", bg="yellow", font=("Arial", 14), ).grid(row=9, column=2, pady="1",padx="15", sticky="w")
riva = Label(miFrame, text=" ", bg="yellow", font=("Arial", 14)).grid(row=8, column=2, pady="1", padx="15", sticky="w")
rtotal = Label(miFrame, text=" ", bg="yellow", font=("Arial", 14)).grid(row=7, column=2, pady="1", padx="15", sticky="w")
limpiarlistapedido()
def listapedido():
cad=""
hamb = var1.get()
refresco = CheckVar1.get()
papas = CheckVar2.get()
burrito = CheckVar3.get()
listpedido = Listbox(miFrame, width=50)
if hamb != "No ha selecionado" or refresco ==1 or papas ==1 or burrito ==1:
if hamb == "Hamburguesa sencilla":
cad += "Hamburguesa sencilla $15 c/u"
elif hamb == "Hamburguesa Doble":
cad += "Hamburguesa Doble $25 c/u"
elif hamb == "Hamburguesa triple":
cad += "Hamburguesa triple $35 c/u"
listpedido.insert(0, cad)
# insert
if refresco == 1:
listpedido.insert(1, "Refresco $15 c/u")
if papas == 1:
listpedido.insert(2, "Papas $20 c/u")
if burrito == 1:
listpedido.insert(3, "Burrito $18 c/u")
#DELETE
elif hamb == "No ha selecionado" and refresco == 0 and papas == 0 and burrito == 0:
listpedido.delete(0)
listpedido.delete(1)
listpedido.delete(2)
listpedido.delete(3)
listpedido.grid(row=2, column=2, pady="1", padx="4")
def limpiarlistapedido():
CheckVar1.set(0)
CheckVar2.set(0)
CheckVar3.set(0)
listapedido()
def totali():
total=thamb()+comp()
return total
def totalf():
TH = var1.get()
CH = cant.get()
PR = CheckVar1.get()
CR = cant1.get()
PP = CheckVar2.get()
CP = cant2.get()
PB = CheckVar3.get()
CB = cant3.get()
formapago=var.get()
totf=0
if TH != "No ha selecionado" or PR == 1 or PP == 1 or PB == 1:
if TH == "Hamburguesa sencilla":
print "Hamburguesa sencilla, cantidad: ", CH
elif TH == "Hamburguesa Doble":
print "Hamburguesa Doble, cantidad: ", CH
elif TH == "Hamburguesa triple":
print "Hamburguesa triple, cantidad: ", CH
if PR == 1:
print "Refresco, cantidad: ", CR
if PP == 1:
print "Papas, cantidad: ", CP
if PB == 1:
print "Burrito, cantidad: ", CB
if formapago ==1:
totf=totali()+impuesto()
iva=impuesto()
FP="Tarjeta"
print "Forma de pago: ",FP
elif formapago ==2:
totf=totali()
iva=0
FP="Efectivo"
print "Forma de pago: ",FP
totalP = totali()
print "Total: ", totalP
print "Iva: ", iva
print "Total final: ", totf
rtotalfinal = Label(miFrame, text=totf, bg="yellow", font=("Arial", 14), ).grid(row=9, column=2, pady="1", padx="15",sticky="w")
riva = Label(miFrame, text=iva, bg="yellow", font=("Arial", 14)).grid(row=8, column=2, pady="1", padx="15",sticky="w")
rtotal = Label(miFrame, text=totali(), bg="yellow", font=("Arial", 14)).grid(row=7, column=2, pady="1", padx="15",sticky="w")
listapedido()
conexion(TH,CH,CB,CR,CP,formapago,totf)
def conexion(TH,CH,CB,CR,CP,formapago,totf):
#TH es el tipo de hamburguesa
#CH cantidad de hamburguesas
#CB cantidad de burritos
#CR cantidad de refrescos
#CP cantidad de papas
#totf total de la venta
print 'envio a base de datos'
client = MongoClient('localhost', 27017)
db = client['PuntoVenta']
document = {'tipo_de_hamburguesa': TH, 'cantidad_hamburguesa': CH, 'cantidad_burritos': CB,
'cantidad_refrescos': CR,'cantidad_papas':CP,'tipo_pago': formapago,'total_con_iva':totf}
_id = db['Ventas'].insert(document)
print _id
return
def ocultar(ventana): ventana.withdraw()
raiz=Tk()
raiz.title("ventana primaria")
raiz.resizable(1,1) #para permitir agrandar o no el ancho o la altura con el moyuse
#raiz.iconbitmap("Hamburger.ico")
#raiz.geometry("500x600")
raiz.config(bg="orange")
raiz.config(bd=15)
raiz.config(relief="groove")
miFrame=Frame(raiz)
miFrame.pack()
miFrame.config(bg="yellow")
miFrame.config(bd=10)
miFrame.config(relief="sunken")
miFrame.config(cursor="hand2")
#Etiquetas
miLabel1=Label(miFrame, text="Hamburguesa feliz", fg="red",bg="yellow",font=("Arial Black",25)).grid(row=0,column=0,pady="4")
OrdenH=Label(miFrame, text="Seleccione la hamburguesa", bg="yellow",font=("Arial",14)).grid(row=1,column=0,pady="1",padx="15", sticky="w")
Pedido=Label(miFrame, text="Pedido:", bg="yellow",font=("Arial",14)).grid(row=1,column=2,pady="1")
cantidadhamb=Label(miFrame, text="Cantidad de Hamburguesas:", bg="yellow",font=("Arial",14)).grid(row=2,column=0,pady="1",padx="15", sticky="w")
complementos=Label(miFrame, text="Complementos:", bg="yellow",font=("Arial",14)).grid(row=3,column=0,pady="1",padx="15", sticky="w")
Cantidadcomp=Label(miFrame, text="Cantidad complementos:", bg="yellow",font=("Arial",14)).grid(row=3,column=1,pady="1",padx="15", sticky="w")
Formadepago=Label(miFrame, text="Forma de pago:", bg="yellow",font=("Arial",14)).grid(row=7,column=0,pady="1",padx="15", sticky="w")
Total=Label(miFrame, text="Total:", bg="yellow",font=("Arial",14)).grid(row=7,column=1,pady="1",padx="15", sticky="w")
IVA=Label(miFrame, text="IVA:", bg="yellow",font=("Arial",14)).grid(row=8,column=1,pady="1",padx="15", sticky="w")
TotalFinal=Label(miFrame, text="Total final:", bg="yellow",font=("Arial",14)).grid(row=9,column=1,pady="1",padx="15", sticky="w")
#OptionMenu
var1=tk.StringVar(miFrame)
var1.set("No ha selecionado")
opciones=["Hamburguesa sencilla","Hamburguesa Doble","Hamburguesa triple"]
opcion=tk.OptionMenu(miFrame,var1,*opciones)
opcion.config(width=20)
opcion.grid(row=1,column=1)
#ListBox
c= Listbox(miFrame, width=50).grid(row=2, column=2, pady="1", padx="4")
#Entrys
cant=tk.IntVar(miFrame)
cant1=tk.IntVar(miFrame)
cant2=tk.IntVar(miFrame)
cant3=tk.IntVar(miFrame)
cuadrohamb=Entry(miFrame, textvariable=cant )
cuadrohamb.grid(row=2,column=1,pady="1")
cuadrohamb.config(fg="blue", justify="center")
cuadrorefresco=Entry(miFrame, textvariable=cant1 )
cuadrorefresco.grid(row=4,column=1,pady="1")
cuadrorefresco.config(fg="blue", justify="center")
cuadropapas=Entry(miFrame,textvariable=cant2 )
cuadropapas.grid(row=5,column=1,pady="1")
cuadropapas.config(fg="blue", justify="center")
cuadroburrito=Entry(miFrame,textvariable=cant3 )
cuadroburrito.grid(row=6,column=1,pady="1")
cuadroburrito.config(fg="blue", justify="center")
#Checkbutton
CheckVar1=IntVar() #
CheckVar2=IntVar()
CheckVar3=IntVar()
Refresco=Checkbutton(miFrame,text="Refresco",bg="yellow", variable=CheckVar1)
Refresco.grid(row=4,column=0, sticky="w",padx="15")
Refresco.config(onvalue=1, offvalue=0)
Papas=Checkbutton(miFrame,text="Papas", bg="yellow",variable=CheckVar2)
Papas.grid(row=5,column=0, sticky="w",padx="15")
Papas.config(onvalue=1, offvalue=0)
Burrito=Checkbutton(miFrame,text="Burrito",bg="yellow", variable=CheckVar3)
Burrito.grid(row=6,column=0, sticky="w",padx="15")
Burrito.config(onvalue=1, offvalue=0)
#Radiobutton
var = IntVar()
R1 = Radiobutton(miFrame, text="Tarjeta de credito",bg="yellow", variable=var, value=1)#, command=sel)
R1.grid(row=8,column=0, sticky="w",padx="15")
R2 = Radiobutton(miFrame, text="Efectivo",bg="yellow", variable=var, value=2) #, command=sel)
R2.grid(row=9,column=0, sticky="w",padx="15")
#botones
Cancelar=Button(miFrame, text= "Cancelar",command=limpiarcajas)
Cancelar.grid(row=10,column=0, sticky="w",padx="15")
Comprar=Button(miFrame, text= "Hacer pedido", bg="Green",command=totalf)
Comprar.grid(row=10,column=2, sticky="e",padx="15")
Terminar=Button(raiz, text= "Terminar", bg="Red", command=lambda: ocultar(raiz))
Terminar.pack()
raiz.mainloop()
view raw Conexion.py hosted with ❤ by GitHub
Interfaz de Alfredo y Cynthia

Punto de venta

Código con la explicación de mis compañeros.



# -*- coding: utf-8 -*-
from Tkinter import *
import Tkinter as tk
import tkMessageBox
global cad
"""Creamos una funcion para saber el tipo de hamburguesa seleccionado y la cantidad de pedido,
utilizamos el get para obtener los datos almacenados en las variables pertenecientes del frame,
en esta funcion utilizamos condiciones if, y elif, ya que si no es una es otra, en cada condicion
se le es añadido a una variable el costo de la hamburguesa, esta variable es declarada inicialmente en 0,
despues de salir de las condiciones nos muestra una variable la cual su valor sera igual a la multiplicacion
de cantidad por el costo de la hamburguesa, esto seria el equivalente al costo total de las hamburguesas el cual vamos a
retornar para utilizar a futuru."""
def thamb():
hamb=var1.get()
cantidad=cant.get()
costohamb=0
if hamb == "Hamburguesa sencilla":
costohamb=15
elif hamb == "Hamburguesa Doble":
costohamb=25
elif hamb == "Hamburguesa triple":
costohamb=35
costo=cantidad*costohamb
return costo
""" Creamos al igual una funcion la cual contendra la selecion de complementos y la cantidad de ellos introducidas,
utilizamos el get para obtener los datos almacenados en las variables pertenecientes del frame,
declaramos una variable para el costo total de los complementos, la cual la inicializamos en 0,
en esta funcion utilizamos condiciones if, ya que vamos a evaluar las tres, ya que esta conectado a un
checkbutton puede haber mas de una opcion o ninguna, dentro de los if utilizamos la variable del costo total de
complemetos la cual tendra el calor de si misma mas la multiplicacion del precio por la cantidad del complemento,
esto se almacena en la variable y al final de los if, la retornamos para posteriormente utilizarla."""
def comp():
costocomp=0
cantidadR = cant1.get()
cantidadP = cant2.get()
cantidadB = cant3.get()
refresco=CheckVar1.get()
papas=CheckVar2.get()
burrito=CheckVar3.get()
if refresco ==1:
costocomp=costocomp+(15*cantidadR)
if papas ==1:
costocomp=costocomp+(20*cantidadP)
if burrito ==1:
costocomp=costocomp+(18*cantidadB)
return costocomp
"""Creamos una funcion para calcular el impuesto, este impuesto se manejara cuando el pago se con tarjeta, usamos una variable llamada iva que sera igual
a la multiplicacion del 15% por el total el cual se realiza en totali, despues retornamos el iva para usarlo despues.
"""
def impuesto():
iva = 0.15 * totali()
return iva
"""En la interfaz nos dice total, es decir que con esta funcion sumaremos el total de la hamburguesa mas el total de los complementos,
y retornamos el resultado de la suma para usarla para calcular el impuesto y el total final
"""
def totali():
total=thamb()+comp()
return total
"""La funcion creada a continuacion es para calcular el total final, el cual dependera de la forma de pago, ya que si es con tarjeta se aplica un impuesto, y si no el precio es el mismo que el totali,
para esto obtenemos con el get el valor de la variable que almacena la opcion del radio botton, y declaramos una variable para guardar el total final, la cual inicializaremos en 0,
en este caso utilizaremos el if y elif, ya que si no es una debe ser la otra, y si no con un else mandamos una tkMessengebox diciendo que no se ha seleccionado la forma de pago,
en el if de pago con tarjeta, cuando esta se cumple, la variable total final sera igual a la suma de las funciones totali mas impuesto, y declararemos una variable llamada iva en la cual sera igual a la funcion impuesto,
si el pago es con efectivo en elif tomaremos la variable total final igualandola a la funcion totali, y declarando la variable iva igual a 0, esto con el fin de que podamos imprimir en una etiqueta el calor del totali,
total final y del iva como se muestran los Label despues de las condiciones, en esta funcion hacemos llamar la funcion listapedido la cual creara una lista de los productos seleccionados"""
def totalf():
formapago=var.get()
totf=0
if formapago ==1:
totf=totali()+impuesto()
iva=impuesto()
print 'El IVA es', iva
elif formapago ==2:
totf=totali()
iva=0
else:
tkMessageBox.showerror("Error "," no se ha seleccionado una forma de pago")
print 'El total final es', totf
rtotalfinal = Label(miFrame, text=totf, bg="yellow", font=("Arial", 14), ).grid(row=9, column=2, pady="1", padx="15",sticky="w")
riva = Label(miFrame, text=iva, bg="yellow", font=("Arial", 14)).grid(row=8, column=2, pady="1", padx="15",sticky="w")
rtotal = Label(miFrame, text=totali(), bg="yellow", font=("Arial", 14)).grid(row=7, column=2, pady="1", padx="15",sticky="w")
listapedido()
"""Creamos esta funcion para insertar los productos selecionados en un Listbox, para insertar y elimiar, esto se debe hacer despues de declarar el listbox pero antes de empaquetarlo, o de poner ya sea .grid,.config,.pack
para insertar creamos un if para ver si hay algun producto seleccionado, si hay entra y compara, para el caso de la seleccion de la hamburguesas declaramos una variable global en la vamos a usar para las tres condiciones
de las hamburguesas, despues de salir de las condiciones tenemos la sintasix para insertar que es nombrelistbox.insert(numerodeposicion,"texto a insertar, o en el caso de las hamburguesas la variable),
para poder eliminar usamos la siguiente sintaxis: nombrelistbox.delete(numerodeposicionaborrar), despues de poner lo insert o los delete, empaquetamos el listbox y listo """
def listapedido():
cad=""
hamb = var1.get()
refresco = CheckVar1.get()
papas = CheckVar2.get()
burrito = CheckVar3.get()
listpedido = Listbox(miFrame, width=50)
if hamb != "No ha selecionado" or refresco == 1 or papas == 1 or burrito == 1:
if hamb == "Hamburguesa sencilla":
cad += "Hamburguesa sencilla $15 c/u"
elif hamb == "Hamburguesa Doble":
cad += "Hamburguesa Doble $25 c/u"
elif hamb == "Hamburguesa triple":
cad += "Hamburguesa triple $35 c/u"
print 'El tipo de hamburguesa es',hamb
listpedido.insert(0, cad)
# insert
if refresco == 1:
listpedido.insert(1, "Refresco $15 c/u")
if papas == 1:
listpedido.insert(2, "Papas $20 c/u")
if burrito == 1:
listpedido.insert(3, "Burrito $18 c/u")
#DELETE
elif hamb == "No ha selecionado" and refresco == 0 and papas == 0 and burrito == 0:
listpedido.delete(0)
listpedido.delete(1)
listpedido.delete(2)
listpedido.delete(3)
listpedido.grid(row=2, column=2, pady="1", padx="4")
"""para Limpiar las cajas, tenemos la opcion de borar desde un inicio fijado hasta el final del texto disponible en el entry,
gracias a un indice que nos da TKinter que es 'END', con este podemos de la siguiente
forma borrar desde el inicio hasta el final sin necesitar conocer cuantos caracteres componen el texto contenido en el widget,
este empieza una cadenita de llamado de funciones para limpiar la interfaz
cuando oprimimos cancelar"""
def limpiarcajas():
cuadrohamb.delete(0, 'end')
cuadrorefresco.delete(0,'end')
cuadroburrito.delete(0,'end')
cuadropapas.delete(0,'end')
limpiarbotones()
"""para limpiar los botones simplemente mandamos con el set en el de el menu el mensaje inicial, y en los otros mandamos None,
pero esto se lo asignamos a las varibles usadas para los botones.
Para limpiar las etiquetas de los totales y el impuesto imprimimos una etiqueta en blanco
"""
def limpiarbotones():
var1.set("No ha selecionado")
CheckVar1.set(None)
CheckVar2.set(None)
CheckVar3.set(None)
var.set(None)
rtotalfinal = Label(miFrame, text=" ", bg="yellow", font=("Arial", 14), ).grid(row=9, column=2, pady="1",padx="15", sticky="w")
riva = Label(miFrame, text=" ", bg="yellow", font=("Arial", 14)).grid(row=8, column=2, pady="1", padx="15", sticky="w")
rtotal = Label(miFrame, text=" ", bg="yellow", font=("Arial", 14)).grid(row=7, column=2, pady="1", padx="15", sticky="w")
limpiarlistapedido()
"""Para limpiar la lista pedido o Listbox las variables de los checkbutton y las cajas de los complementos les mandamos con el set el valor de 0,
asi llamando a la funcion listapedido se ira a la parte del delete y por ultimo mostramos un mensaje de que se ha borrado todo y puede volver a pedir
"""
def limpiarlistapedido():
cant.set(0)
cant1.set(0)
cant2.set(0)
cant3.set(0)
CheckVar1.set(0)
CheckVar2.set(0)
CheckVar3.set(0)
listapedido()
tkMessageBox.showinfo("Cancelacion exitosa", "Se ha cancelado el pedido, y esta listo para realizar nuevo pedido")
"""Para terminar el programa utilizamos esta funcion de ocultar,
aunque otra opcion podria ser destroy
"""
def ocultar(ventana): ventana.withdraw()
#def conexion(var1, cant, cant3, cant1, cant2, var, total, totf)
#tipo de hamburguesa es var1
#total de hamburguesa es cant
#cantidad de burrios es cant3
#cantidad de refrescos es cant1
#cantidad de papas es cant2
#total de pago es var
#total sin IVA es total
#total con IVA es totf
#Creacion de la ventana principal
"""Como ya hemos visto las creaciones de ventana, hic
raiz.title("ventana primaria")imos una ventana raiz, en la cual creamos un frame,
con el relief(atributo que se le da a configuracion) caqmbiamos el diseño de la ventanas, con el bd el tamaño del borde y con el cursor el tipo de cursor
"""
raiz=Tk()
raiz.resizable(1,1) #para permitir agrandar o no el ancho o la altura con el moyuse
#raiz.iconbitmap("Hamburger.ico")
#raiz.geometry("500x600")
raiz.config(bg="orange")
raiz.config(bd=15)
raiz.config(relief="groove")
"""Al crear el Frame debemos indicar a quien pertenece en este caso el frame pertenece a la raiz, todos los componentes creados para la interfaz van a pertenecer al frame,
aunque tambien pueden pertenecer a la raiz, en este caso solo un boton pertenecera a la raiz."""
miFrame=Frame(raiz)
miFrame.pack()
miFrame.config(bg="yellow")
miFrame.config(bd=10)
miFrame.config(relief="sunken")
miFrame.config(cursor="hand2")
#Etiquetas
"""Nombre de la etiqueta = Label (a quien pertenece, text(indica que es lo que mostrara)=El texto a mostrar,
fg(color de letra)=color en ingles o puede ser en hexadecimal,
bg(lo utilizamos para indicar el color del fondo este lo indicamos para cuando usamos un color diferente al predeterminado)=color del fondo,
font(aqui podemos indicar el tipo de letra y el tamaño del texto)=("tipoletra",Tamaño en #)).grid(utilizamos el .grid para darle la posicion
en el frame es decir crea una cuadicula que podriamos decir que es como una matriz)(row=numerodefila,column=numerodecolumna,
pady="numerode separacionenY",sticky="Posicion se indica con los puntos cardenales en ingles
N, S, E, W se utiliza solo la inicial ")"""
miLabel1=Label(miFrame, text="Hamburguesa feliz", fg="red",bg="yellow",font=("Arial Black",25)).grid(row=0,column=0,pady="4")
OrdenH=Label(miFrame, text="Seleccione la hamburguesa", bg="yellow",font=("Arial",14)).grid(row=1,column=0,pady="1",padx="15", sticky="w")
Pedido=Label(miFrame, text="Pedido:", bg="yellow",font=("Arial",14)).grid(row=1,column=2,pady="1")
cantidadhamb=Label(miFrame, text="Cantidad de Hamburguesas:", bg="yellow",font=("Arial",14)).grid(row=2,column=0,pady="1",padx="15", sticky="w")
complementos=Label(miFrame, text="Complementos:", bg="yellow",font=("Arial",14)).grid(row=3,column=0,pady="1",padx="15", sticky="w")
Cantidadcomp=Label(miFrame, text="Cantidad complementos:", bg="yellow",font=("Arial",14)).grid(row=3,column=1,pady="1",padx="15", sticky="w")
Formadepago=Label(miFrame, text="Forma de pago:", bg="yellow",font=("Arial",14)).grid(row=7,column=0,pady="1",padx="15", sticky="w")
Total=Label(miFrame, text="Total:", bg="yellow",font=("Arial",14)).grid(row=7,column=1,pady="1",padx="15", sticky="w")
IVA=Label(miFrame, text="IVA:", bg="yellow",font=("Arial",14)).grid(row=8,column=1,pady="1",padx="15", sticky="w")
TotalFinal=Label(miFrame, text="Total final:", bg="yellow",font=("Arial",14)).grid(row=9,column=1,pady="1",padx="15", sticky="w")
#Lista de opciones desplegable
"""para la menu de opciones o mejor conocidas como OptionMenu, creamos una variable la cual declaramos de tipo string e indicamos a donde pertenecees decir:
nombredelavariable=tk.StringVar(aquienpertenece) .esta variable la usaremos para guardar la opcion seleccionada, pero como al inicio
no tiene ninguna seleccionada ponemos:
nombredelavariable.set("Mensaje") el set es para enviar, creamos un arreglo con las opciones es decir:
nombrearreglo=["Op1","Op2",...,"Opn"] , enseguida de crear el arreglo creamos el OptionMenu la sintaxis seria:
nombre=tk.OptionMenu(aquienpertenece,nombredelavariable,*nombrearreglo) ya que usaremos config para el ancho y grid para la pocicion tengremos que escribir separados, es decir:
nombre.config(width=anchoennumero)
nombre.grid(row=numerofila,column=numerocolumna) esto seria para crear un menu de opciones"""
var1=tk.StringVar(miFrame)
var1.set("No ha selecionado")
opciones=["Hamburguesa sencilla","Hamburguesa Doble","Hamburguesa triple"]
opcion=tk.OptionMenu(miFrame,var1,*opciones)
opcion.config(width=20)
opcion.grid(row=1,column=1)
#Listbox
"""para crear un listbox la sintaxis seria:
nombre=Listbox(aquienpertenece, width=anchonumero)
nombre.grid(row=numerofila, column=numerocolumna, pady="numerodeespacioenY", padx="numerodeespacioenX"), esto seria para crear el puro cascaron,
para ingresar datos lo vemos en la funcion listapedido(), el de la linea 202 es por simple estetica"""
c= Listbox(miFrame, width=50).grid(row=2, column=2, pady="1", padx="4")
#Entrys
"""Los entrys son cajas de texto, como todos conocemos sirven para ingresar, pero tambien podemos imprimir en ellos
como cada caja de texto o entry es individual debemos crear una variable para cada una a usar y la declararemos de que tipo de dato hablamos.
nombrevariablecaja=tk.IntVar'tipo de dato'(aquienpertenece) esto solo es la variable donde almacenaremos el dato ingresado en el entry la siguiente sintaxis
es para crear el entry:
nombreentry=Entry(aquienpertenece, textvariable=nombrevariablecaja) el textvariable es para indicar donde almacenaremos lo que ingresamos en el entry
nombreentry.grid(row=numerofila,column=numerocolumna,pady="numerodeespacionenY") igual que todos los elementos utilizamos el grid para indicar su pocicion,
y si queremos un interlineado por llamarlo de una forma
nombreentry.config(fg="colordetexto", justify="posicion de justificacion") en el config utilizanmos el justify, este utiliza para justificar el texto como
si usaramos word solo indicamos center, left o right"""
cant=tk.IntVar(miFrame)
cant.set(0)
cant1=tk.IntVar(miFrame)
cant1.set(0)
cant2=tk.IntVar(miFrame)
cant2.set(0)
cant3=tk.IntVar(miFrame)
cant3.set(0)
cuadrohamb=Entry(miFrame, textvariable=cant )
cuadrohamb.grid(row=2,column=1,pady="1")
cuadrohamb.config(fg="blue", justify="center")
cuadrorefresco=Entry(miFrame, textvariable=cant1 )
cuadrorefresco.grid(row=4,column=1,pady="1")
cuadrorefresco.config(fg="blue", justify="center")
cuadropapas=Entry(miFrame,textvariable=cant2 )
cuadropapas.grid(row=5,column=1,pady="1")
cuadropapas.config(fg="blue", justify="center")
cuadroburrito=Entry(miFrame,textvariable=cant3 )
cuadroburrito.grid(row=6,column=1,pady="1")
cuadroburrito.config(fg="blue", justify="center")
#Checkbutton
"""El Checkbutton es una casilla de verificación que al igual que los entry son individuales, es decir que son lo contrario a los radiobutton, el checkbutton nos permite elegir mas de 1 opcion
al mismo tiempo para estro declararemos una variable para cada checkbutton:
nombrevariableCheckButton=tipodedato() para crear el checkbutton:
nombreCheckbutton=Checkbutton(aquienpertenece,text="Texto a verificar",bg="color fondo", variable=nombrevariableCheckButton)
nombreCheckbutto.grid(row=numerofila,column=numerocolumna, sticky="posicion",padx="separacionenX")
nombreCheckbutto.config(onvalue=1, offvalue=0) para dar el valor 1 cuando lo seleccionamos y de 0 cuando no """
CheckVar1=IntVar()
CheckVar2=IntVar()
CheckVar3=IntVar()
Refresco=Checkbutton(miFrame,text="Refresco",bg="yellow", variable=CheckVar1)
Refresco.grid(row=4,column=0, sticky="w",padx="15")
Refresco.config(onvalue=1, offvalue=0)
Papas=Checkbutton(miFrame,text="Papas", bg="yellow",variable=CheckVar2)
Papas.grid(row=5,column=0, sticky="w",padx="15")
Papas.config(onvalue=1, offvalue=0)
Burrito=Checkbutton(miFrame,text="Burrito",bg="yellow", variable=CheckVar3)
Burrito.grid(row=6,column=0, sticky="w",padx="15")
Burrito.config(onvalue=1, offvalue=0)
#Radiobutton
"""El radio button es un boton de seleccion compartida es decir que si seleccionamos una no podemos seleccionar la otra,
un ejemplo de esto seria la opcion de sexo ya sea mujer u hombre
es decir que comparte la misma variable la sintaxis es:
nombrevariable= IntVar()
nombreRadiobutton1 = Radiobutton(aquienpertenece, text="texto opcion1", bg="color fondo", variable=nombrevariable, value=1) value es el valor que tomara la variable, este servira para saber cual opcion se selecciono y trabajar con ella
nombreRadiobutton1.grid(row=numerofila,column=numerocolumna, sticky="posicion",padx="separacionenX")
nombreRadiobutton2 = Radiobutton(aquienpertenece, text="texto opcion2", bg="color fondo", variable=nombrevariable, value=2)
nombreRadiobutton2.grid(row=numerofila,column=numerocolumna, sticky="posicion",padx="separacionenX") """
var = IntVar()
R1 = Radiobutton(miFrame, text="Tarjeta de credito",bg="yellow", variable=var, value=1)#, command=sel)
R1.grid(row=8,column=0, sticky="w",padx="15")
R2 = Radiobutton(miFrame, text="Efectivo",bg="yellow", variable=var, value=2) #, command=sel)
R2.grid(row=9,column=0, sticky="w",padx="15")
#botones
"""Los botones hacen un evento en este caso llaman a uno o mejor dijo llaman a una funcion. La sintaxis seria la siguiente:
nombreboton=Button(aquienpertenece, text= "texto que mostrara el boton",command=llamandolafuncion)
nombreboton.grid(row=numerofila,column=numerocolumna, sticky="posicion",padx="separacionenX") """
Cancelar=Button(miFrame, text= "Cancelar",command=limpiarcajas)
Cancelar.grid(row=10,column=0, sticky="w",padx="15")
Comprar=Button(miFrame, text= "Hacer pedido", bg="Green",command=totalf)
Comprar.grid(row=10,column=2, sticky="e",padx="15")
Terminar=Button(raiz, text= "Terminar", bg="Red", command=lambda: ocultar(raiz))
Terminar.pack()
raiz.mainloop()
view raw InterfazAC hosted with ❤ by GitHub

Monday, November 11, 2019

MONGODB

MongoDB es una base de datos NoSQL de código abierto que utiliza un modelo de datos orientado a documentos. Es uno de los sistemas y bases de datos NoSQL más importantes y potentes en la actualidad.

Lo primero es instalar la Base de Datos Mongo de acuerdo con las instrucciones que la maestra de clase de GRAFICACIÓN nos proporciona. Para obtener los pasos hacer click aquí.

Ya instalado, se abre el CMD, se escribe mongod y hay que esperar unos segundos para que se cargue todo y esté disponible el puerto 27017. Esa ventana de CMD se deja abierta.





Ahora, se abre otra ventana de CMD y se escribe mongo, también se esperan varios segundos y cuando ya se muestran un signo de mayor que > es cuando ya está listo para usarse.



Primero para crear una base de datos se utiliza el comando use junto con el nombre que se le quieran asignar. Asímismo, se puede utilizar el comando db para mostrar en cuál base de datos se está utilizando. Con el comando show databases se muestran las bases de datos que actualmente existen, también se puede abreviar como show dbs.


Se ingresan datos con la sintaxis db.nombre_coleccion,insert({ campo1: "documento1", campo2: "documento2"}). Se va ingresar a la colección documentos del personal de la empresa. Al momento que se escribe el nombre de la colección, aunque no exista, MongoDB la crea y si ya existe, como quiera la utiliza.


Para ver cuántas colecciones existen en la base de datos, se utiliza el comando show collections y actualmente existen dos. Para mostrar qué documentos tiene la colección personal, se utiliza la siguiente sintaxis: db.nombre_coleccion.find().pretty().


Monday, October 28, 2019

CLASES Y OBJETOS EN PYTHON

Clases

Las clases y los objetos sirven para crear tu propio tipo de datos (es decir, tipos de datos definidos por el usuario). Una clase es un tipo de dato definido por el usuario, y la crear instancias de una clase hace relación a la creación de objetos de ese tipo. Las clases y los objetos son considerados los principales bloques de desarrollo para Python, el cual es un lenguaje de programación orientado a objetos.

¿Cómo crearíamos una clase en Python? La estructura de clase más simple en Python luciría de la siguiente manera:

class ClassName:
    statements
La definición de una clase comienza con la palabra clave class, y className sería el nombre de la clase (identificador). Ten en cuenta que el nombre de la clase sigue las mismas reglas que los nombres de variables en Python, es decir, sólo pueden comenzar con una letra o un subrayado _, y sólo pueden contener letras, números o guiones bajos. Además, según PEP 8 (Guía de estilo para la programación en Python), se recomienda que los nombres de las clases estén capitalizadas.


Atributos

Los atributos son como propiedades que queremos añadir a la clase (tipo). Por ejemplo, una clase llamada Person, vamos a añadir dos atributos: name y school, tal que así:

class Person:
    name = ''
    school = ''
Ahora, vamos a crear un nuevo objeto del tipo Person con más detalle, completando estos atributos que acabamos de añadir:
jorge = Person()
abder.name = 'Jorge'
abder.school = 'Universidad de la vida'

Wednesday, October 16, 2019

POLIGONOS EN TKINTER GRUPO A

En este post se muestran diferentes polígonos hechos por los alumnos de Graficación grupo A.


# -*- coding: utf-8 -*-
#CODIGO DEL POLIGONO DE ALFREDO SANTOS
from Tkinter import *
import tkColorChooser #libreria para obtener la gama de colores
#crecion de la ventana principal
v0 = Tk()
v0.title('Ventana principal')
v0.config(bg = 'brown') #bg para el color de fondo de la ventana
v0.geometry('500x500')#tamaño de la ventana
#v0.iconbitmap("descarga.ico")#para cambiar el icono de la ventana
def mostrar(num):
#aparece la gamade colores RGB o en numero hexadecimal
a=tkColorChooser.askcolor(title="Color de contorno")
b=tkColorChooser.askcolor(title="Color de cornia y partes iluminadas")
c = tkColorChooser.askcolor(title="Color de piel iluminada")
d = tkColorChooser.askcolor(title="Color de sombra clara")
e = tkColorChooser.askcolor(title="Color de sombra oscurra")
f = tkColorChooser.askcolor(title="Color de sombra media")
g = tkColorChooser.askcolor(title="Color de pupila")
h = tkColorChooser.askcolor(title="Color de iris")
#ventana secundaria
v1 = Toplevel(v0)
v1.title('ventana hija')
v1.protocol('Wn_DELETE_WINDOW',"onexit")#para cerrar la ventana por medio de la cruz
v1.geometry('450x560')#tamaño de la ventana
#v1.iconbitmap("vhija.ico") # para cambiar el icono de la ventana
#condiciones para los botones
if num == 1:
canvas1=Canvas(v1,width=200,height=200, bg='white')#(b[1])) esto es para seleccionar el color de fondo# OBJETO DE LA TKINTER CANVAS(FIGURAS) 200 pixeles de ancho 200 ancho
canvas1.pack(expand = YES, fill = BOTH) #DESPLEGAR EL CANVAS, EXPAND QUE SEA EXPANDIBLE
# puntos = [0, 0, 0, 10, 10, 10, 10, 20]
#canvas1.create_polygon(puntos, width=10, fill=(a[1]))
#Cabeza
canvas1.create_polygon(50, 170, 50, 120, 60, 120, 60, 100,
70, 100, 70, 90, 90, 90, 90, 80,
160, 80, 160, 60, 170, 60, 170, 50,
190, 50, 190, 40, 230, 40, 230, 50,
240, 50, 240, 80, 230, 80, 230, 90,
270, 90, 270, 100, 290, 100, 290, 110,
300, 110, 300, 120, 310, 120, 310, 160,
300, 160, 300, 170, 290, 170, 290, 180,
280, 180, 280, 190, 200, 190, 50, 170, width=10, fill=(a[1])) # fill='black')#negro
# beige
canvas1.create_polygon(70, 150, 140, 120, 180, 120, 270, 130,
270, 180, 210, 180, 210, 200, 200, 220,
170, 250, 80, 250, 60, 240, 40, 220,
40, 200, 50, 180, 60, 170, 70, 150, width=10, fill=(c[1])) # fill="#%02x%02x%02x" % (240, 230, 140))
canvas1.create_polygon(30, 200, 30, 220, 40, 220, 40, 230,
50, 230, 50, 240, 60, 240, 60, 250,
80, 250, 80, 260, 110, 260, 110, 300,
120, 300, 120, 330, 130, 330, 130, 350,
140, 350, 140, 360, 150, 360, 150, 370,
160, 370, 160, 380, 170, 380, 170, 370,
160, 370, 160, 360, 150, 360, 150, 350,
140, 350, 140, 330, 130, 330, 130, 300,
120, 300, 120, 260, 170, 260, 170, 250,
180, 250, 180, 240, 190, 240, 190, 230,
200, 230, 200, 220, 210, 220, 210, 200,
220, 200, 220, 190, 250, 190, 250, 180,
280, 150, 280, 140, 270, 140, 270, 130,
260, 130, 260, 120, 210, 120, 210, 130,
200, 130, 200, 140, 210, 140, 210, 130,
260, 130, 260, 140, 270, 140, 270, 150,
280, 150, 250, 180, 210, 180, 210, 200,
200, 200, 200, 220, 190, 220, 190, 230,
180, 230, 180, 240, 170, 240, 170, 250,
80, 250, 80, 240, 60, 240, 60, 230,
50, 230, 50, 220, 40, 220, 40, 200,
30, 200, width=10, fill=(f[1])) # fill="#%02x%02x%02x" % (210, 106, 30) ) #barro
canvas1.create_polygon(220, 50, 190, 50, 190, 60, 170, 60,
170, 80, 160, 80, 160, 90, 140, 100,
110, 100, 110, 90, 90, 90, 90, 110,
110, 110, 110, 100, 130, 100, 130, 110,
140, 110, 140, 120, 90, 120, 90, 130,
80, 130, 80, 140, 70, 140, 70, 150,
130, 150, 130, 140, 140, 140, 140, 120,
210, 110, 230, 110, 230, 100, 210, 100,
210, 110, 140, 120, 140, 100, 160, 90,
170, 90, 170, 70, 190, 70, 190, 60,
220, 60, 220, 60, width=10, fill=(b[1]))#fill='white')#blanco
# cafemarrom
canvas1.create_polygon(70, 100, 70, 120, 60, 120, 60, 170,
50, 170, 50, 180, 60, 180, 60, 170,
70, 170, 70, 140, 80, 140, 80, 130,
90, 130, 90, 120, 100, 120, 100, 110,
90, 110, 90, 100, 70, 100, width=10, fill=(d[1])) # fill="#%02x%02x%02x" % (250, 133, 63))
canvas1.create_rectangle(180, 120, 210, 130, width=1, fill=(d[1]), outline=(d[1]))# fill="#%02x%02x%02x" % (250, 133, 63),outline="#%02x%02x%02x" % (250, 133, 63))
canvas1.create_polygon(290, 120, 300, 120, 300, 160, 290, 160,
290, 170, 280, 170, 280, 180, 250, 180,
250, 170, 260, 170, 260, 160, 270, 160,
270, 150, 280, 150, 280, 140, 290, 140,
290, 120, width=10, fill=(d[1])) # fill="#%02x%02x%02x" % (250, 133, 63))
#cafe
canvas1.create_polygon(200, 100, 190, 100, 180, 100, 180, 90,
170, 90, 170, 70, 190, 70, 190, 60,
220, 60, 220, 50, 230, 50, 230, 80,
220, 80, 220, 90, 200, 90, 200, 100,
200, 110, 180, 110, 180, 100, 160, 100,
160, 90, 110, 90, 110, 110, 100, 110,
100, 120, 130, 120, 130, 100, 140, 100,
140, 110, 130, 110, 130, 120, 260, 120,
260, 130, 270, 130, 270, 140, 290, 140,
290, 110, 270, 110, 270, 100, 230, 100,
230, 110, 210, 110, 210, 100, 200, 100, width=10, fill=(e[1])) # fill="#%02x%02x%02x" % (139, 69, 19))
#NARIZ
canvas1.create_rectangle(20, 170, 50, 200, width=1, fill=(a[1]), outline=(a[1]))#fill="black", outline="black")#negro
canvas1.create_rectangle(30, 180, 40, 190, width=1, fill=(e[1]), outline=(e[1]))#fill="#%02x%02x%02x" % (139, 69, 19),outline="#%02x%02x%02x" % (139, 69, 19))#cafe
#OJO
canvas1.create_polygon(140, 160, 140, 170, 110, 170, 110, 180,
100, 180, 100, 190, 90, 190, 90, 220,
100, 220, 100, 230, 130, 230, 130, 220,
160, 220, 160, 210, 170, 210, 170, 170,
180, 170, 180, 160, 140, 160, width=10, fill=(a[1])) # fill='black')#negro
canvas1.create_polygon(100, 200, 100, 190, 110, 190, 130, 180,
160, 180, 160, 210, 150, 210, 150, 220,
140, 220, 100, 200, width=10, fill=(b[1])) # fill='white')#blanco
canvas1.create_rectangle(100, 210, 130, 220, width=1, fill=(g[1]), outline=(g[1])) # fill="sky blue", outline="sky blue")#celeste
canvas1.create_polygon(100, 210, 100, 200, 110, 200, 110, 180,
130, 180, 130, 190, 140, 190, 140, 220,
130, 220, 130, 210, width=10, fill=(h[1])) # fill='blue')#azul
# cuerpo
#MARRON
canvas1.create_polygon(160, 450, 150, 450, 150, 480, 140, 480,
140, 500, 120, 500, 120, 450, 130, 450,
130, 450, 140, 450, 140, 360, 150, 360,
150, 370, 160, 370, 160, 450, 160, 480,
150, 480, 150, 500, 180, 500, 180, 470,
190, 470, 190, 430, 200, 430, 200, 380,
210, 380, 210, 350, 220, 350, 260, 320,
270, 340, 270, 370, 280, 380, 280, 430,
270, 470, 270, 500, 310, 500, 330, 420,
330, 420, 340, 400, 360, 400, 360, 480,
350, 480, 350, 500, 400, 500, 400, 430,
420, 430, 420, 370, 390, 370, 390, 360,
360, 210, 340, 190, 340, 260, 250, 300,
140, 260, 130, 260, 130, 290, 145, 340,
170, 370, 170, 450, 160, 450, width=10, fill=(d[1]))
#NEGRO
canvas1.create_polygon(130, 350, 130, 450, 120, 450, 120, 480,
110, 480, 110, 500, 120, 500, 120, 510,
180, 510, 180, 500, 190, 500, 190, 470,
200, 470, 200, 430, 210, 430, 210, 380,
200, 380, 200, 430, 190, 430, 190, 470,
180, 470, 180, 500, 150, 500, 150, 480,
160, 480, 160, 450, 170, 450, 170, 380,
160, 380, 160, 450, 150, 450, 150, 480,
140, 480, 140, 500, 120, 500, 120, 480,
130, 480, 130, 450, 140, 450, 140, 350,
130, 350, width=10, fill=(a[1]))
canvas1.create_polygon(260, 340, 260, 370, 270, 370, 270, 380,
280, 380, 280, 430, 270, 430, 270, 470,
260, 470, 260, 500, 270, 500, 270, 510,
310, 510, 310, 500, 320, 500, 320, 460,
330, 460, 330, 420, 340, 420, 340, 400,
360, 400, 360, 450, 350, 450, 350, 480,
340, 480, 340, 500, 350, 500, 350, 510,
390, 510, 390, 500, 400, 500, 400, 470,
410, 470, 410, 430, 420, 430, 420, 410,
430, 410, 430, 380, 420, 380, 420, 370,
410, 370, 410, 360, 390, 360, 390, 370,
410, 370, 410, 380, 420, 380, 420, 410,
410, 410, 410, 430, 400, 430, 400, 470,
390, 470, 390, 500, 350, 500, 350, 480,
360, 480, 360, 450, 370, 450, 370, 390,
340, 390, 340, 380, 320, 380, 320, 370,
310, 370, 310, 360, 300, 360, 300, 350,
290, 350, 290, 340, 280, 340, 280, 350,
290, 350, 290, 360, 300, 360, 300, 370,
310, 370, 310, 380, 320, 380, 320, 390,
340, 390, 340, 400, 330, 400, 330, 420,
320, 420, 320, 460, 310, 460, 310, 500,
270, 500, 270, 470, 280, 470, 280, 430,
290, 430, 290, 380, 280, 380, 280, 370,
270, 370, 270, 340, 260, 340, width=10, fill=(a[1]))
canvas1.create_polygon(160, 250, 160, 260, 170, 260, 170, 270,
180, 270, 180, 280, 200, 280, 200, 270,
220, 270, 220, 260, 240, 260, 240, 250,
260, 250, 260, 240, 320, 240, 320, 250,
340, 250, 340, 200, 350, 200, 350, 210,
360, 210, 360, 220, 370, 220, 370, 210,
360, 210, 360, 200, 350, 200, 350, 190,
340, 190, 340, 180, 330, 180, 330, 240,
320, 240, 320, 230, 260, 230, 260, 240,
240, 240, 240, 250, 220, 250, 220, 260,
200, 260, 200, 270, 180, 270, 180, 260,
170, 260, 170, 250, 160, 250, width=10, fill=(a[1]))
#cafe
canvas1.create_polygon(140, 260, 140, 270, 150, 270, 150, 280,
160, 280, 160, 290, 200, 290, 200, 300,
320, 300, 320, 290, 330, 290, 330, 280,
340, 280, 340, 250, 320, 250, 320, 240,
260, 240, 260, 250, 240, 250, 240, 260,
220, 260, 220, 270, 200, 270, 200, 280,
180, 280, 180, 270, 170, 270, 170, 260,
140, 260, width=10, fill=(e[1]))
#beige
canvas1.create_rectangle(220, 270, 240, 290, width=1, fill=(c[1]), outline=(c[1]))
canvas1.create_rectangle(260, 250, 280, 270, width=1, fill=(c[1]), outline=(c[1]))
canvas1.create_rectangle(280, 270, 300, 290, width=1, fill=(c[1]), outline=(c[1]))
canvas1.create_rectangle(290, 240, 310, 250, width=1, fill=(c[1]), outline=(c[1]))
canvas1.create_polygon(370, 220, 370, 230, 380, 230, 380, 260,
370, 260, 370, 270, 380, 270, 380, 290,
390, 290, 390, 330, 380, 330, 380, 350,
370, 350, 370, 340, 360, 340, 360, 220,
370, 220, width=10, fill=(c[1]))
canvas1.create_polygon(210, 360, 220, 360, 220, 350, 230, 350,
230, 340, 250, 340, 250, 330, 290, 330,
290, 340, 300, 340, 300, 320, 290, 320,
290, 310, 260, 310, 260, 320, 240, 320,
240, 330, 230, 330, 230, 340, 220, 340,
220, 350, 210, 350, 210, 360, width=10, fill=(c[1]))
canvas1.create_polygon(120, 260, 120, 300, 130, 300, 130, 330,
140, 330, 140, 350, 150, 350, 150, 360,
160, 360, 160, 370, 170, 370, 170, 350,
160, 350, 160, 340, 150, 340, 150, 320,
140, 320, 140, 290, 130, 290, 130, 260,
120, 260, width=10, fill=(c[1]))
#blanco
canvas1.create_polygon(150, 290, 150, 300, 160, 300, 160, 320,
170, 320, 170, 330, 180, 330, 180, 380,
170, 380, 170, 420, 180, 420, 180, 380,
190, 380, 190, 350, 200, 350, 200, 340,
210, 340, 210, 330, 200, 330, 200, 320,
190, 320, 190, 310, 170, 310, 170, 300,
160, 300, 160, 290, 150, 290, width=10, fill=(b[1]))
canvas1.create_polygon(320, 340, 330, 340, 330, 360, 340, 360,
340, 330, 330, 330, 330, 320, 320, 320,
320, 340, width=10, fill=(b[1]))
canvas1.create_polygon(350, 480, 350, 490, 360, 490, 360, 480,
370, 480, 370, 450, 380, 450, 380, 430,
370, 430, 370, 450, 360, 450, 360, 480,
350, 480, width=10, fill=(b[1]))
#barro
canvas1.create_polygon(210, 380, 220, 380, 220, 360, 230, 360,
230, 350, 250, 350, 250, 340, 290, 340,
290, 330, 250, 330, 250, 340, 230, 340,
230, 350, 220, 350, 220, 360, 210, 360,
210, 380, width=10, fill=(f[1]))
canvas1.create_polygon(380, 360, 390, 360, 390, 330, 400, 330,
400, 290, 390, 290, 390, 270, 380, 270,
380, 260, 390, 260, 390, 230, 380, 230,
380, 220, 370, 220, 370, 230, 380, 230,
380, 260, 370, 260, 370, 270, 380, 270,
380, 290, 390, 290, 390, 330, 380, 330,
380, 360, width=10, fill=(f[1]))
def ocultar(ventana):ventana.destray()
def ejecutar(f):v0.after(200,f)
#botones
# V0 donde se va desplegar el boton
b1 = Button(v0, text='BAMBI', command=lambda: ejecutar(mostrar(1)))
b1.grid(row=1, column=1) # desplegar boton
v0.mainloop()
# coding=utf-8
#CODIGO DEL POLIGONO DE HUGO VAZQUEZ
from Tkinter import *
class Minecraft:
"""
Mi intención con está clase es crear con Tkinter la figura de Steve
"""
# Metodo inicial
def __init__(self):
pass
# Inicia la ventana hija con la figura de Steve
def ventana_hija(self, seleccion, figura):
ventanahija = Toplevel()
ventanahija.configure(bg='white')
ventanahija.title(figura)
if seleccion == 1:
panel = Canvas(ventanahija, width=250, height=500, bg='white')
panel.pack()
# ELRICHMC
# Brazo izquierdo
panel.create_polygon(6, 126, 22, 122, 82, 124, 82, 324, 14, 330, 6, 318, width=1, fill="#0a0a08") # Brazo base
#
# Brazo derecho
panel.create_polygon(186, 146, 232, 146, 232, 312, 188, 314, width=1, fill="#0a0a08") # Brazo base
#
# Piernas
panel.create_polygon(62, 442, 77, 415, 98, 414, 98, 369, 115, 368, 115, 310,
165, 309, 165, 362, 180, 360, 187, 401, 185, 441,
88, 457, width=1, fill="#898989")
#
# Pies
panel.create_polygon(63, 470, 63, 442, 88, 457, 185, 441, 185, 468, 88, 485, width=1, fill="#282828")
#
# Camisa
panel.create_polygon(126, 179, 138, 179, 138, 295, 165, 295, 165, 310,
114, 310, 114, 297, 125, 297, width=1, fill="#181917") # Parte negra
panel.create_polygon(125, 165, 151, 165, 151, 310, 138, 310, 138, 180,
125, 180, width=1, fill="#861400") # Parte roja
#
# Cuerpo/capa
panel.create_polygon(58, 449, 58, 326, 81, 324, 81, 132, 186, 134, 235, 142, 234, 312,
190, 315, 190, 402, 175, 362, 164, 362, 165, 296, 150, 296,
151, 166, 126, 165, 126, 298, 114, 298, 116, 368, 100, 369,
100, 414, 86, 417, 80, 414, width=1, fill="#0a0b08")
#
# Cara de ElRichMC
panel.create_polygon(102, 10, 202, 22, 202, 137, 104, 132, width=1, fill="#333333") # Cara frontal
panel.create_polygon(52, 32, 102, 10, 104, 132, 52, 133, width=1, fill="#1c1c1c") # Parte trasera
panel.create_polygon(116, 72, 142, 72, 142, 88, 116, 86, width=1, fill="#060606") # Ojo izquierdo
panel.create_polygon(168, 76, 190, 78, 192, 92, 166, 90, width=1, fill="#060606") # Ojo derecho
panel.create_polygon(128, 104, 180, 106, 180, 121, 128, 118, width=1, fill="#060606") # Boca (sho te amo)
#
# Decoración
panel.create_polygon(6, 126, 22, 122, 82, 124, 82, 138, 24, 136, 6, 140, width=1, fill="#530800") # Decoración - capa roja
panel.create_polygon(5, 142, 6, 157, 9, 157, 11, 156, 11, 141, 18, 139, 18, 155, 21, 155,
23, 154, 23, 138, 31, 137, 31, 153, 37, 153, 38, 154, 46, 154,
46, 138, 62, 138, 63, 153, 64, 155, 78, 155, 78, 139, 84, 139,
84, 155, 113, 156, 113, 173, 126, 173, 126, 143, 100, 143,
99, 135, 88, 135, 88, 140, width=1,
fill="#d3ac00") # Decoración - capa roja / decoración
panel.create_polygon(186, 146, 232, 146, 234, 132, 214, 132, 214, 142, 186, 140, width=1,
fill="#530800") # Decoración - capa roja
panel.create_polygon(235, 148, 235, 161, 224, 161, 224, 147, 211, 146, 211, 160, 199, 160,
199, 146, 195, 147, 193, 159, 168, 159, 167, 174, 154, 175,
154, 181, 151, 180, 151, 153, 155, 152, 155, 145, 175, 146,
176, 139, 185, 140, 186, 146, 195, 147, width=1,
fill="#d3ac00") # Decoración - capa roja / decoración
def ventana_padre(self):
ventana_raiz = Tk()
ventana_raiz.geometry("200x100")
ventana_raiz.configure(bg='white')
ventana_raiz.title('Figuras')
# Botón para llamar a la ventana hija
boton1 = Button(ventana_raiz, text='ElRichMC', bg='grey', fg='black', command=lambda: self.ventana_hija(1, 'ElRichMC'))
boton1.pack(padx=5, pady=5, fill=X)
ventana_raiz.mainloop()
if __name__ == '__main__':
ventana = Minecraft()
ventana.ventana_padre()
view raw PoligonoHugo.py hosted with ❤ by GitHub
#CODIGO DEL POLIGONO DE BRANDON ESQUIVEL
from Tkinter import *
def funcion(seleccion, figura):
vs = Toplevel()
vs.config(bg="green")
vs.title(figura)
if seleccion == 1:
panel = Canvas(vs, width=220, height=460, bg="white")
panel.pack()
#Sombra
panel.create_polygon(60,10,150,10,150,20,160,20,160,130,150,130,150,140,170,140,170,150,
180,150,180,160,190,160,190,180,200,180,200,240,190,240,190,250,180,250,
180,260,170,260,170,280,160,280,160,340,170,340,170,400,180,400,180,410,
190,410,190,420,200,420,200,440,120,440,120,360,110,360,110,360,110,320,
100,320,100,360,90,360,90,440,10,440,10,420,20,420,20,410,30,410,30,400,
40,400,40,340,50,340,50,280,40,280,40,260,30,260,30,250,20,250,20,240,
10,240,10,180,20,180,20,160,30,160,30,150,40,150,40,140,60,140,60,130,
50,130,50,20,60,20,width=1, fill="black", outline="black")
#Cabeza
panel.create_polygon(60,20,150,20,150,30,140,30,140,40,70,40,70,30,60,30,width=3, fill="white",
outline="white")
#Cara
panel.create_polygon(60,40,70,40,70,50,140,50,140,40,150,40,150,130,140,130,140,140,70,140,
70,130,60,130,width=1, fill="white", outline="white")
#Ojos
panel.create_polygon(70,70,80,70,80,80,90,80,90,70,100,70,100,80,90,80,90,90,100,90,100,100,
90,100,90,90,80,90,80,100,70,100,70,90,80,90,80,80,70,80,70,70,width=1,
fill="black",outline="black")
panel.create_polygon(110,70,120,70,120,80,130,80,130,70,140,70,140,80,130,80,130,90,140,90,
140,100,130,100,130,90,120,90,120,100,110,100,110,90,120,90,120,80,110,80,width=1,
fill="black", outline="black")
#Boca
panel.create_polygon(70,110,80,110,80,120,130,120,130,110,140,110,140,120,130,120,130,130,80,130,
80,120,70,120,70,110,width=1, fill="black", outline="black")
#Cuello
panel.create_polygon(90,140,120,140,120,150,110,150,110,160,100,160,100,150,90,150,width=1,
fill="#FFCC99", outline="#FFCC99")
panel.create_polygon(90,150,100,150,100,160,110,160,110,150,120,150,120,160,110,160,110,170,
100,170,100,160,90,160,90,150,width=1, fill="gray", outline="gray")
#Brazo izquierdo
panel.create_polygon(40,150,60,150,60,160,70,160,70,190,80,190,80,200,60,200,60,190,
50,190,50,210,40,210,40,220,60,220,60,210,70,210,70,240,60,240,60,250,
30,250,30,240,20,240,20,180,30,180,30,160,40,160,40,150,
width=1, fill="white", outline="white")
#Brazo derecho
panel.create_polygon(130,200,130,190,140,190,140,160,150,160,150,150,170,150,170,160,180,160,
180,180,190,180,190,240,180,240,180,250,150,250,150,240,140,240,140,200,
130,200,width=1, fill="white", outline="white")
panel.create_polygon(140,200,150,200,150,190,160,190,160,210,170,210,170,220,150,220,
150,210,140,210,140,200,width=1, fill="black", outline="black")
#Cuerpo
panel.create_polygon(80,150,90,150,90,160,100,160,100,170,110,170,110,160,120,160,120,210,
110,210,110,230,120,230,120,240,140,240,140,250,150,250,150,290,60,290,
60,250,70,250,70,240,90,240,90,230,100,230,100,210,90,210,90,160,80,160,
80,250, width=1, fill="white", outline="white")
#Cinturon
panel.create_polygon(60,290,150,290,150,300,60,300,width=1, fill="gray", outline="gray")
# Mano izquierda
panel.create_polygon(70, 200, 80, 200, 80, 210, 100, 210, 100, 230, 70, 230, 70, 200, width=1,
fill="#FFCC99", outline="#FFCC99")
# Mano derecha
panel.create_polygon(110, 210, 130, 210, 130, 200, 140, 200, 140, 230, 110, 230, 110, 210, width=1,
fill="#FFCC99", outline="#FFCC99")
#Pierna Izquierda
panel.create_polygon(60,300,100,300,100,320,90,320,90,360,80,360,80,400,50,400,50,340,60,340,
60,300,width=1, fill="white", outline="white")
#Pierna Derecha
panel.create_polygon(110,300,150,300,150,340,160,340,160,400,130,400,130,360,120,360,120,320,
110,320,width=1, fill="white", outline="white")
#Pie Izquierdo
panel.create_polygon(40,400,50,400,50,420,40,420,width=1, fill="gray", outline="gray")
panel.create_polygon(30,410,40,410,40,420,50,420,50,410,80,410,80,430,20,430,20,420,30,420,
width=1, fill="white", outline="white")
panel.create_polygon(60, 410, 70, 410, 70, 420, 60, 420, width=1, fill="gray", outline="gray")
#Pie Derecho
panel.create_polygon(160,400,170,400,170,420,160,420, width=1, fill="gray", outline="gray")
panel.create_polygon(180,410,170,410,170,420,160,420,160,410,130,410,130,430,190,430,190,420,
180,420,width=1, fill="white", outline="white")
panel.create_polygon(140,410,150,410,150,420,140,420, width=1, fill="gray", outline="gray")
vp = Tk()
vp.geometry("300x450")
vp.configure(bg="white")
vp.title("Pixel")
# Hacer boton
boton1 = Button(vp, text="Pixel", bg="red", fg="White", command=lambda: funcion(1, "Marshmello"))
boton1.pack(padx=5, pady=5, fill=X)
vp.mainloop()
#CODIGO DEL POLIGONO DE LEAL
from Tkinter import *
def poligono (ventana):
panel=Canvas(width=1000, height=600, bg="cyan")
panel.pack()
#cuerpo
panel.create_polygon(96, 110, 137, 110, 290, 110,317, 137, 289, 164, 275, 179, 275, 317, 220, 303, 221, 276, 206, 261, 165, 275, 151, 276, 109, 247, 109, 234, 123, 220, 165, 220, 165, 179, 96, 165, width=1, fill="#6BE0FF", outline="black")
#mano
panel.create_polygon(289, 109, 303, 82, 325, 60, 337, 62, 344, 82, 344, 55, 330, 55, 330, 42, 345, 27, 372, 28, 385, 41, 385, 69, 317, 137, width=1, fill="#2063FF", outline="black")
#buster
panel.create_polygon(96, 165, 96, 178, 54, 178, 41, 164, 13, 165, 14, 151, 0, 137, 13, 124, 13, 110, 41, 109, 55, 96, 96, 96, 96, 109 , width=1, fill="#2063FF", outline="black")
#pies
panel.create_polygon(165, 275, 152, 316, 137, 331, 82, 331, 68, 317, 68, 303, 96, 276, 109, 234, 123, 220, width=1, fill="#2063FF", outline="black")
panel.create_polygon(275, 303, 275, 330, 261, 344, 261, 399, 246, 413, 220, 412, 206, 399, 206, 330, 220, 316, 220, 289, width=1, fill="#2063FF", outline="black")
# cabeza
panel.create_polygon(138, 137, 138, 68, 275, 68, 275, 137, 234, 179, 179, 178, width=1, fill="#FFF595", outline="black")
# cara
panel.create_polygon(151, 137, 179, 137, 179, 82, 138, 82, 138, 110, width=1, fill="#FFFFFF", outline="black")
panel.create_polygon(165, 124, 179, 124, 179, 96, 165, 96, width=1, fill="#000000", outline="black")
panel.create_polygon(193, 137, 193, 82, 234, 82, 248, 96, 248, 124, 234, 138, width=1, fill="#FFFFFF", outline="black")
panel.create_polygon(193, 124, 220, 124, 220, 96, 193, 96, width=1, fill="#000000", outline="black")
panel.create_polygon(179, 137, 207, 138, 220, 151, 220, 164, 207, 179, 179, 178, 165, 165, 165, 151, width=1, fill="#000000", outline="black")
#armor
panel.create_polygon(247, 137, 247, 165, 275, 137, 275, 55, 249, 28, 220, 28, 193, 55, 193, 69, 165, 69, 165, 55, 151, 55, 137, 69, 137, 82, 165, 82, 165, 96, 193, 96, 193, 83, 234, 82, 261, 108, 261, 137, width=1, fill="#2063FF", outline="black")
panel.create_polygon(275, 220, 275, 248, 235, 261, 207, 261, 165, 220, width=1, fill="#2063FF", outline="black")
#accesorios
panel.create_polygon(0, 137, 13, 124, 82, 124, 70, 137, width=1, fill="#6BE0FF", outline="black")
panel.create_polygon(165, 68, 165, 55, 193, 27, 220, 27, 193, 55, 193, 68, width=1, fill="#6BE0FF", outline="black")
ventana=Tk()
ventana.title("Poligonos")
ventana.config(bg="blue")
ventana.geometry("700x700")
boton= Button(ventana,text="Crear Poligono", command=lambda: poligono(ventana))
boton.pack()
ventana.mainloop()
view raw PoligonoLeal.py hosted with ❤ by GitHub
#CODIGO DEL POLIGONO DE DAVID MARTINEZ
from Tkinter import *
v0= Tk()
v0.title("ventana principal")
v0.config(bg="blue")
v0.geometry("500x500")
#v0.iconbitmap("nike.ico")
def mostrar(num):
v1= Toplevel(v0)
v1.title("Ventana hija")
v1.protocol("wn_DELETE_WINDOW", "onexit")
v1.geometry("600x600")
if num == 1:
canvas1=Canvas(v1, width=200,height=200,bg="black")
canvas1.pack(expand=YES, fill=BOTH)
canvas1.create_polygon(140, 20, 160, 20, 200, 40, 240, 80, 260, 100, 300, 80, 340, 100, 360, 80, 400, 40, 440, 20, 460, 20, 480, 80, 460, 140, 440, 200, 360, 140, 300, 200, 240, 140, 160, 200, 140, 140, 120, 80, width=5, fill=("#C6A58A"), outline="#FFFFFF")
canvas1.create_polygon(160, 200, 240, 140, 300, 200, 360, 140, 440, 200, 460, 280, 480, 360, 460, 360, 440, 340, 380, 400, 320, 420, 280, 420, 220, 400, 160, 340, 140, 360, 120, 360, 140, 300, width=5, fill=("#AF7A4E"), outline="#FFFFFF")
canvas1.create_polygon(200, 220, 220, 220, 260, 240, 220, 240, width=5, fill=("yellow"), outline="#000000")
canvas1.create_polygon(340, 240, 380, 220, 400, 220, 380, 240, width=5, fill=("yellow"), outline="#000000")
canvas1.create_polygon(320, 220, 340, 300, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(340, 300, 360, 340, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(360, 340, 360, 360, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(280, 220, 260, 300, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(260, 300, 240, 340, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(240, 340, 240, 360, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(240, 360, 280, 380, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(360, 360, 320, 380, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(360, 360, 400, 280, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(240, 360, 200, 280, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(320, 380, 340, 340, 320, 320, 280, 320, 260, 340, 280, 380, width=5, fill=("black"), outline="#FFFFFF")
canvas1.create_polygon(220, 220, 240, 240, 220, 240, width=5, fill=("black"), outline="#000000")
canvas1.create_polygon(380, 220, 380, 240, 360, 240, width=5, fill=("black"), outline="#000000")
canvas1.create_polygon(160, 40, 160, 140, 180, 160, 220, 120, 220, 100, width=5, fill=("#AF7A4E"), outline="#FFFFFF")
canvas1.create_polygon(440, 40, 380, 100, 380, 120, 420, 160, 440, 140, width=5, fill=("#AF7A4E"), outline="#FFFFFF")
def ocultar(ventana):ventana.destroy()
def ejecutar(f):v0.after(200,f)
b1=Button(v0,text="Abrir ventanea con linea", command=lambda:ejecutar(mostrar(1)))
b1.grid(row=1,column=1)
v0.mainloop()
#CODIGO DEL POLIGONO DE JAVIER MUNOZ
from Tkinter import *
def funcion(seleccion, figura):
vs = Toplevel()
vs.configure(bg="gray")
vs.title(figura)
# Ganso
if seleccion == 1:
panel = Canvas(vs, width=600, height=500, bg="light blue")
panel.pack()
# Pie1
panel.create_polygon((70, 180),
(60, 170),
(90, 170),
width=1, fill="#FFFF00", outline="black")
# pie2
panel.create_polygon((100, 180),
(90, 170),
(120, 170),
fill="yellow", outline="black", width=1)
# pierna1
panel.create_line((90, 170),
(90, 160),
fill="black", width=1)
# pierna2
panel.create_line((120, 170),
(110, 160),
fill="black", width=1)
# cuerpo
panel.create_polygon((50, 50), (60, 40), (80, 40),
(90, 60), (90, 80), (70, 100),
(90, 100), (120, 120), (140, 120),
(110, 160), (90, 160), (50, 130),
(50, 100), (70, 80), (70, 60),
fill="gray", outline="black", width=1)
# pico
panel.create_polygon((40, 60),
(70, 60),
(50, 50),
width=1, outline="black", fill="yellow")
# ojo
panel.create_polygon((60, 40), (60, 50), (70, 50), width=1, outline="black", fill="yellow")
boton_ocultar = Button(vs, text="Ocultar", bg="Blue", fg="white", command=vs.iconify)
boton_ocultar.pack()
def funcion_main():
vp = Tk()
vp.geometry("300x500+5+5")
vp.configure(bg="gray")
vp.title("Poligonos by Javier Munoz")
boton1 = Button(vp, text="Ganso", bg="orange", fg="White",
command=lambda: funcion(1, "Dibujo de un ganso por Javier Munoz"))
boton1.pack(padx=5, pady=5, fill=X)
vp.mainloop()
funcion_main()
#By: Kenneth Marlon Barragan Lopez
from Tkinter import *
def funcion(seleccion, figura):
vs = Toplevel()
vs.configure(bg="gray")
vs.title(figura)
if seleccion == 1:
panel = Canvas(vs, width=640, height=180, bg="gray")
panel.pack()
# BODY
panel.create_polygon(50,10,70,10,70,30,90,30,90,50,150,50,150,30,170,30,190,30,190,10,
170,10,170,50,190,50,190,70,210,70,210,90,230,90,230,150,210,150,
210,110,190,110,190,150,170,150,130,150,130,170,170,170,170,130,
70,130,70,150,70,170,110,170,110,150,50,150,50,110,30,110,30,150,
10,150,10,90,30,90,30,70,50,70,50,50,70,50,70,30,50,30,50,10,
width=1, fill="green", outline="black")
# OJO
panel.create_polygon(70,70,90,70,90,110,70,110,70,70,
width=1, fill="white", outline="black")
# OJO
panel.create_polygon(150,70,170,70,170,110,150,110,150,70,
width=1, fill="white", outline="black")
#Nave
panel.create_polygon(340,160,340,140,320,140,320,120,260,120,260,100,300,100,300,80,320,
80,320,60,340,60,340,40,380,40,380,20,500,20,500,40,540,40,540,60,
560,60,560,80,580,80,580,100,620,100,620,120,560,120,560,140,540,140,
540,160,520,160,520,140,500,140,500,120,460,120,460,140,420,140,420,120,
380,120,380,140,360,140,360,160,340,160,
width=1, fill="orange", outline="black")
# NaveWindow
panel.create_polygon(340,80,340,100,360,100,360,80,340,80,
width=1, fill="white", outline="black")
panel.create_polygon(400,100,400,80,420,80,420,100,400,100,
width=1, fill="white", outline="black")
panel.create_polygon(460,100,460,80,480,80,480,100,460,100,
width=1, fill="white", outline="black")
panel.create_polygon(520,100,520,80,540,80,540,100,520,100,
width=1, fill="white", outline="black")
vp = Tk()
vp.geometry("300x40+5+5")
vp.configure(bg="black")
vp.title("Poligonos")
boton1 = Button(vp, text="ALIEN", bg="blue", fg="White",command=lambda: funcion(1, "Programa por KENNETH BARRAGAN"))
boton1.pack(padx=5, pady=5, fill=X)
vp.mainloop()
#CODIGO DEL POLIGONO DE NICOLE RDZ
from Tkinter import *
def funcion(nombre, figura):
vs = Toplevel()
vs.configure(bg="gray")
vs.title(figura)
if nombre ==1:
panel = Canvas(vs, width=600, height=500, bg="gray")
panel.pack()
#contorno
panel.create_polygon(92,30,148,30,174,84,148,110,200,110,229,140,255,113,
255,193,229,220,92,220,65,194,65,140,90,112,66,86,66,58,width=1, fill="#FFC914")
#Alita
panel.create_line(120,140,120,166,width=4, fill="#ff9f04")
panel.create_line(120,166,146,194, width=4, fill="#ff9f04")
panel.create_line(146,194,201,193, width=4, fill="#ff9f04")
panel.create_line(201,193,227,166, width=4, fill="#ff9f04")
panel.create_line(227,166,202,140, width=4, fill="#ff9f04")
panel.create_line(202,140,172,140, width=4, fill="#ff9f04")
#Ojito
panel.create_oval(94,72,106,86,width=4, fill="black")
#Piquito
panel.create_polygon(66,86,90,112,40,112,width=4, fill="#ff9f04")
#Agua
panel.create_rectangle(0,220,600,440,width=0, fill="#22d8cf")
#Arena
panel.create_rectangle(0,438,600,520, width=0, fill="#fffa70")
#conchita
panel.create_polygon(249,420,285,420,302,438,304,458,266,475,254,476,248,472, width=2, fill="#ff88c3")
panel.create_polygon(266,475,254,476,266,482,width=2,fill="#ff88c3")
panel.create_polygon(254,476,248,460,242,466, width=2, fill="#ff88c3")
# cuerpo pescadito
panel.create_polygon(31,290,42,302,60,308,74,318,88,333,88,348,73,348,45,333,43,330,
37,319,31,305, width=2, fill="#2682b4")
#aletas pescadito
panel.create_polygon(60,308,60,290,74,305,74,318, width=2, fill="#f98ea9")
panel.create_polygon(59,333,45,348,45,333, width=2, fill="#f98ea9")
panel.create_polygon(37,319,29,319,15,305,31,305, width=2, fill="#f98ea9")
#cola pescadito
panel.create_polygon(31,290,30,275,45,260,44,275,59,275, width=2, fill="#f98ea9")
vp = Tk()
vp.geometry("300x200")
vp.configure(bg="black")
vp.title("Poligonos grupo A")
boton2 = Button(vp, text="Patito", bg="blue", fg="White", command=lambda: funcion(1, "Programa por Nicole Rodriguez"))
boton2.pack(padx=5, pady=5, fill=X)
vp.mainloop()
Figuas en Tkinter

Este es un código que muestra en ventanas independientes una línea, un rectángulo y un óvalo, cada uno con su ventaja hija, con sus respectivos colores y coordenadas de ubicación.
from Tkinter import *
v0 = Tk()
v0.title('Ventana Principal')
v0.config(bg='green') #es para dar color al brackground
v0.geometry("500x500") #asignar tamano a la ventana
def mostrar(num):
v1=Toplevel(v0) #ventana hija
v1.title('Ventana Hija')
v1.protocol('wn_DELETE_WINDOW', "onexit") #para cerrar con la tachita la ventana
v1.geometry('300x300')
if num == 1:
canvas1 = Canvas(v1,width=200,height=200,bg='white') #dibujar algo, un lienzo, figuras
canvas1.pack(expand=YES,fill=BOTH) #para expandir la ventana
canvas1.create_line(10,200,200,10, width=10,fill='green') #x1,y1,x2,y2
elif num == 2:
canvas2= Canvas(v1,width=200,height=200,bg='white')
canvas2.pack(expand=YES,fill=BOTH)
canvas2.create_rectangle(10,200,200,10, width=10,fill='red')
elif num == 3:
canvas3 = Canvas(v1, width=200, height=200, bg='white')
canvas3.pack(expand=YES, fill=BOTH)
canvas3.create_oval(10, 200, 200, 10, width=10, fill='red')
def ocultar(ventana):ventana.destroy() #para que pueda desaparecer en la ventana
def ejecutar(f):v0.after(200,f) #parametro para que pueda aparecer la ventana
b0= Button(v0, text = 'Abrir ventana con linea', command = lambda:ejecutar(mostrar(1)))
b0.grid(row=1, column=1)
b1= Button(v0, text = 'Abrir ventana con rectangulo', command = lambda:ejecutar(mostrar(2)))
b1.grid(row=1, column=2)
b2= Button(v0, text = 'Abrir ventana con ovalo', command = lambda:ejecutar(mostrar(3)))
b2.grid(row=1, column=3)
v0.mainloop()
view raw Figuras.py hosted with ❤ by GitHub

Bordes

Este es un ejemplo en como podemos utilizar los bordes en Pygame.
# -*- coding: utf-8 -*-
import pygame
import time
pygame.init()
window = pygame.display.set_mode( (500, 400) )
#pygame.draw.line(window, (255,255,255), (25, 25), (75, 200), 3)
#pygame.draw.line(window, (255,255,255), (75, 75), (25, 75), 1)
#pygame.draw.line(window, (255,255,255), (25, 75), (50, 50), 1)
pygame.draw.lines(window, (255,255,255), True, ((50, 50), (75, 75), (25, 75)), 1)
# pygame.draw.lines(window, (0,255,255), True, ( (50, 50), (75, 75), (63, 100), (38, 100), (25, 75) ), 3)
pygame.display.update()
time.sleep(1000)
view raw bordes.py hosted with ❤ by GitHub

Ejemplo de Pygame

Este es un ejemplo donde se utiliza la librería Pygame donde se aplica haciendo unas figuras con sus colores respectivos y coordenadas de ubicación.
# -*- coding: utf-8 -*-
import pygame
import time
pygame.init()
window = pygame.display.set_mode( (500, 400) )
#while True:
pygame.draw.rect(window, (255, 0, 0), (100, 100, 100, 50), 2)
pygame.draw.ellipse(window, (226, 133, 223), (100, 100, 100, 50))
pygame.draw.rect(window, (0, 255, 0), (100, 150, 80, 40), 2)
pygame.draw.ellipse(window, (0, 255, 0), (100, 150, 80, 40))
pygame.draw.rect(window, (0, 0, 255), (100, 190, 60, 30), 2)
pygame.draw.ellipse(window, (0, 0, 255), (100, 190, 60, 30))
#Círculo
pygame.draw.ellipse(window, (0, 0, 255), (100, 250, 40, 40))
pygame.display.update()
time.sleep(1000)
view raw hola_mundo.py hosted with ❤ by GitHub

JUEGO ORCOS

Este es un ejemplo que nos proporcionó la maestra para que sepamos como se utiliza la librería Random.
# -*- coding: utf-8 -*- #La linea 1 es un script para utilizar tiles en el codigo
import random
import textwrap
if __name__ == '__main__':
seguir_jugando = 1
ocupantes = ['enemigo','amigo','no ocupada']
ancho_linea = 72
linea_punteada = ancho_linea * '-'
print(linea_punteada)
print("\033[1m"+ "Ataca a los Orcos V0.0.1" + "\033[0m") #\033 para letras negritas
msg = ("La guerra entre los humanos y sus arqueros enemigos, los Orcos, estaba en el aire."
"Un enorme ejército de orcos se dirigía hacia los territos de los humanos. Destruían"
"prácticamente todo en su camino. Los grandes reyes de la raza humana, se unieron para"
" derrotar a su peor enemigo, era la gran batalla de su tiempo. Sir Gandorel, uno de los "
"valientes caballeros que guardan las llanuras meridionales, inició un largo viaje hacia el este"
", a través de un desconocido bosque espeso. Durante dos días y dos noches, se movió con cautela "
"a través del grueso bosque. En su camino, vio un pequeño asentamiento aislado. Cansado y con "
"la esperanza de reponer su stock de alimentos, decidió tomar un desvío. Cuando se acercó al pueblo,"
"vio cinco chozas. No había nadie alrededor. En ese instante, decidió entrar en un choza...")
print(textwrap.fill(msg, width = ancho_linea))
print("\033[1m"+"Misión:"+"\033[0m")
print("Elige una choza donde poder descansar...")
print("\033[1m"+"NOTA:"+"\033[0m")
print("¡Cuidado! Hay enemigos rondando la zona")
print(linea_punteada)
while seguir_jugando == 1:
chozas = []
while len(chozas) < 5: #Definimos un número de asentamiento para establecerlo como amigo o enemigo
eleccion_aleatoria = random.choice(ocupantes) #escoge una eleccion random del vector ocupantes
chozas.append(eleccion_aleatoria)
msg = "\033[1m" + "Elige una choza, introduce un número entre 1 y 5: " + "\033[0m"
decision_usuario = input("\n"+msg)
idx = int(decision_usuario)
#Pasamos a descubrir cuales son los ocupantes del emplazamiento
print("Descubriendo los ocupantes...")
msg=""
for i in range(len(chozas)):
ocupantes_info = "<%d:%s>"%(i+1, chozas[i])
if i+1 == idx:
ocupantes_info = "\033[1m" + ocupantes_info + "\033[0m"
msg += ocupantes_info + " "
print("\t" + msg)
print(linea_punteada)
print("\033[1m" + "Entrando en la choza %d..." %idx + "\033[0m")
if chozas[idx-1] == 'enemigo':
print("\033[1m" + "Sir Gandorel ha muerto asesinado por una manada de orcos (Mucha suerte la próxima vez)" + "\033[0m")
else:
print("\033[1m" + "¡Felicidades! Sir Gandorel ha podido descansar con éxito" + "\033[0m")
print(linea_punteada)
seguir_jugando = input("¿Quieres jugar de nuevo? Si(1)/No(0):")
view raw JuegoOrcos.py hosted with ❤ by GitHub

Monday, October 14, 2019

MI FIGURA EN TKINTER

Código para poder realizar un perrito pixeleado con la librería Tkinter en Python.


# -*- coding: utf-8 -*-
from Tkinter import *
import tkColorChooser #libreria para obtener gama de colores
v0 = Tk()
v0.title('Ventana Principal')
v0.config(bg='white') #es para dar color al brackground
v0.geometry("400x300") #asignar tamano a la ventana
v0.iconbitmap("imagen.ico")
def mostrar(num):
#a = tkColorChooser.askcolor()
v1=Toplevel(v0) #ventana hija
v1.title('Perrito')
v1.protocol('wn_DELETE_WINDOW', "onexit") #para cerrar con la tachita la ventana
v1.geometry('300x250')
if num == 1:
panel = Canvas(v1,width=220,height=460,bg='white') #dibujar algo, un lienzo, figuras
panel.pack(expand=YES,fill=BOTH) #para expandir la ventana
#Cuerpo completo
panel.create_polygon(20, 10, 20, 10, 50, 10, 50, 20, 100, 20, 100, 10, 130, 10, 130, 20, 140, 20, 140, 50, 130,
50, 130, 60, 120, 60, 120, 150, 110, 50, 110, 70, 120, 70, 120, 110, 130, 110, 130, 120, 140, 120, 140, 130, 150,
130, 150, 140, 160, 140, 160, 150, 180, 150, 180, 130, 170, 130, 170, 120, 160, 120, 160, 100, 180, 100,
180, 110, 190, 120, 190, 120, 200, 120, 220, 130, 210, 130, 210, 210, 70, 210, 70, 190, 80, 190, 80, 160, 70,
160, 70, 150, 60, 150, 60, 130, 50, 130, 50, 120, 40, 120, 40, 110, 30, 110, 30, 70, 40, 70, 40, 50, 30, 50, 30,
60, 20, 60, 20, 50, 10, 50, 10, 20, 20, 20, 20, 10, width=7, fill="black", outline="black")
#Color cafe oreja izq
panel.create_polygon(50,20,50,30,40,30,40,40,30,40,30,50,20,50,20,20,50,20,width=5, fill="brown", outline="brown")
# Color cafe oreja derecha
panel.create_polygon(130,20,130,50,120,50,120,40,110,40,110,30,100,30,100,20,130,20, width=5,fill="brown", outline="brown")
#Cara
panel.create_polygon(100,30,50,30,50,70,40,70,40,110,50,110,50,120,70,120,70,110,80,110,80,120,
100,120,100,110,110,110,110,70,100,70,100,30,width=5,fill="white", outline="white")
#Ojo izq1
panel.create_polygon(60,50,60,60,70,60,70,50,60,50,width=5, fill="black", outline="black")
#Mancha en el ojo
panel.create_polygon(100,40,70,40,70,70,100,70,100,40, width=6, fill="brown", outline="brown")
#Ojo derecho
panel.create_polygon(80,50,80,60,90,60,90,50,80,50, width=5, fill="black", outline="black")
#Nariz
panel.create_polygon(90,80,90,100,60,100,60,80,90,80, width=6, fill="black", outline="black")
#Lengua
panel.create_polygon(80,120,70,120,70,150,80,150,80,120, width=5, fill="pink", outline="pink")
#Cuerpo mitad 1
panel.create_polygon(120,110,120,190,130,190,130,200,110,200,110,150,100,150,100,200,80,200,80,190,
90,190,90,130,100,130,100,120,110,120,110,110,120,110,width=5, fill="white", outline="white")
#Cuerpo mitad 2
panel.create_polygon(200,130,200,200,170,200,170,190,180,190,180,180,170,180,170,170,160,190,160,200,140,200,
140,190,130,190,130,160,180,160,180,150,190,150,190,130,200,130,width=5, fill="white", outline="white")
#Cola
panel.create_polygon(180,110,170,110,170,120,180,120,180,130,190,130,190,120,180,120,180,110, width=5, fill="brown", outline="brown")
#Mancha lomo
panel.create_polygon(130,120,120,120,120,150,130,150,130,160,160,160,160,150,150,150,
150,140,140,140,140,130,140,130,140,120,120,120, width=3, fill="brown", outline="brown")
def ocultar(ventana):ventana.destroy() #para que pueda desaparecer en la ventana
def ejecutar(f):v0.after(200,f) #parametro para que pueda aparecer la ventana
b0= Button(v0, text = 'Abrir ventana con un perrito', command = lambda:ejecutar(mostrar(1)))
b0.grid(row=5, column=3)
v0.mainloop()
view raw Perrito.py hosted with ❤ by GitHub

Monday, September 30, 2019

JUEGO DE BLACKJACK

Hecho por:

Hector
Alexis


# -*- coding: utf-8 -*-
import os, sys
import random
global cartas
cartas=[2,3,4,5,6,7,8,9,10,'AS','J','Q','K']
suma1=0
suma2 = 0
global jugador1
jugador1 = []
global jugador2
jugador2 = []
print '\n ----Bienvenido a Black Jack----\n'
op=0
while op!=6:
op = input('Si desea una carta preciona 1, si desea parar preciona 6:')
if op == 1:
suma1 = 0
valorJ = 0
valorK = 0
valorQ = 0
valorAs = 0
print '\n Turno de jugador 1'
eleccion = random.choice(cartas)
print 'Carta-----', eleccion
if eleccion == 'AS':
valorAS = int(input('Que valor desea darle a el AS 1 o 10?:'))
jugador1.append(valorAS)
elif eleccion == 'J':
jugador1.append(10)
elif eleccion == 'Q':
jugador1.append(10)
elif eleccion == 'K':
jugador1.append(10)
else:
jugador1.append(eleccion)
print '\nCartas encontradas----- ',jugador1, ('\n')
for i in jugador1:
suma1 = suma1 + i
print 'Suma de puntos....', suma1
if suma1 > 21:
print '\nLo siento mucho pero usted ha perdido'
print '\nEmpezara el turno del otro participante '
break
clear()
elif suma1 == 21:
print 'Muchas felicidades ha obtenido los 21 puntos '
break
print'\n-----*-----*-----*-----*----*-----*-----*-----*-----*----*-----*-----*-----*-----*----*'
print'-----*-----*-----*-----*----*-----*-----*-----*-----*----*-----*-----*-----*-----*----*\n'
print '\n Turno de jugador 2'
oper = 0
while oper != 9:
oper = input('Si desea una carta 1preciona 1, si desea parar preciona 9:')
if oper == 1:
suma2 = 0
valorJ = 0
valorK = 0
valorQ = 0
valorAs = 0
print '\n Turno de jugador 2'
eleccion = random.choice(cartas)
print 'Carta-----', eleccion
if eleccion == 'AS':
valorAS = int(input('Que valor desea darle a el AS 1 o 10?:'))
jugador2.append(valorAS)
elif eleccion == 'J':
jugador2.append(10)
elif eleccion == 'Q':
jugador2.append(10)
elif eleccion == 'K':
jugador2.append(10)
else:
jugador2.append(eleccion)
print '\nCartas encontradas ',jugador2, ('\n')
for i in jugador2:
suma2 = suma2 + i
print 'Suma de puntos....', suma2
if suma2 > 21:
print 'Lo siento mucho pero usted ha perdido'
break
elif suma1 == 21:
print 'Muchas felicidades ha obtenido los 21 puntos '
break
print'\n-----*-----*-----*-----*----*-----*-----*-----*-----*----*-----*-----*-----*-----*----*'
print'-----*-----*-----*-----*----*-----*-----*-----*-----*----*-----*-----*-----*-----*----*\n'
print '\nSuma de puntos del jugador 1....', suma1
print '\nSuma de puntos del jugador 2....', suma2
if suma1>21 and suma2>21:
print '\nLos 2 jugadores perdieron'
if suma1==21 and suma2!=21:
print '\nEl jugador 1 es quien gana la partida'
if suma2==21 and suma1!=21:
print '\nEl jugador 2 es quien gana la partida'
if suma1==21 and suma2==21:
print '\nEmpate entre los jugadores :O'
if suma1<21 and suma2>21:
print '\nEl jugador 1 es quien gana la partida'
if suma1>21 and suma2<21:
print '\nEl jugador 2 es quien gana la partida'
if suma1<21 and suma2<21:
if suma1 > suma2:
print '\nEl jugador 1 es quien gana la partida'
if suma1<21 and suma2<21:
if suma2>suma1:
print '\nEl jugador 2 es quien gana la partida'
view raw Blackjack.py hosted with ❤ by GitHub
JUEGO DE  BATTLESHIP

Hecho por:

Nicole Rodriguez González
Víctor Hugo Vázquez Gómez


# coding=utf-8
"""
BATALLA NAVAL
Representación de cómo se verá el juego
COMPUTADORA JUGADOR
1 2 3 4 1 2 3 4
1[*][ ][ ][*] 1[ ][*][ ][ ]
2[ ][*][ ][ ] 2[ ][ ][ ][ ]
3[ ][ ][ ][ ] 3[ ][ ][*][ ]
4[ ][*][ ][ ] 4[*][*][ ][ ]
"""
import random, copy, time, textwrap # copy nos proporciona operaciones genericas de copiado
# Declaración de constantes.
DIMENSION_ = 6
TURNO_ = 4
# Imprime el mapa
def __imprimir_mapa__(jugador, mesa, dimension):
player = 'la computadora'
if jugador == 'u':
player = 'el jugador'
print "\033[1m"+ 'La mesa de ' + player + ' se ve así:' + "\033[0m"
# Imprimir el número de columna
for i in range(dimension):
print ' ' + str(i+1) + '',
print ' '
for i in range(dimension):
# Imprimir el número de fila
print str(i+1) + '',
# Imprime los valores de las celdas
for j in range(dimension):
if mesa[i][j] == -1:
print '[ ] ', # Imprime la mesa vacía por primera vez (ésto sólo se ejecuta la primera vez)
elif jugador == 'u':
print mesa[i][j], # Aquí se imprime la mesa del jugador, puede contener [] o [S]
elif jugador == 'c': # Si el jugador es computadora se imprime su mesa
if mesa[i][j] == '[!] ' or mesa[i][j] == '[*] ':
print mesa[i][j],
else:
print '[ ] ',
print ' '
# Obtener coordenadas usuario
def __obtener_coordenada__(dimension):
while True:
user_input = raw_input("\033[1m"+'Por favor, ingresa las coordenadas (columna,fila): ' + "\033[0m")
try:
# Verificar si el usuario ingresó 2 valores separados por coma
coor = user_input.split(',')
if len(coor) != 2:
raise Exception("\033[1m"+'Entrada invalida, pocas/muchas coordenadas' + "\033[0m")
coor[0] = int(coor[0]) -1
coor[1] = int(coor[1]) -1
# Verifica si están dentro del limite
if coor[0] > dimension-1 or coor[0] < 0 or coor[1] > dimension-1 or coor[1] < 0:
exc = "\033[1m"+'Entrada invalida, ingresa valores entre 1 y ', str(dimension) ,' solamente.' + "\033[0m"
raise Exception(exc)
# Si todo esta bien, devuelvelo
return coor
except ValueError:
print "\033[1m"+'Entrada inválida, ingresa sólo dos coordenadas' + "\033[0m"
except Exception as e:
print e
# La computadora escoge por random
def __computadora_escoge__(mesa_computadora, DIMENSION_, turno):
lista_comp = [] # Se crea una lista con la cantidad de turno que se pasen por parametro
for i in range(DIMENSION_):
lista_comp.append(i) # En caso de DIMENSION_ = 8 E lista_comp = ['1','2','3','4','5','6','7','8']
# Variable auxiliar para controlar el flujo de turnos
m = 0
while m < turno:
# Se escoge un número.
escoger_coordenada_x_comp = random.choice(lista_comp)
escoger_coordenada_y_comp = random.choice(lista_comp)
validacion = __validar__('c',escoger_coordenada_x_comp, escoger_coordenada_y_comp)
if validacion:
m = m - 1
else:
m = m + 1
print "\033[1m"+'La computadora ya colocó sus submarinos' + "\033[0m"
return mesa_computadora
# Colocar submarino
def __colocar_submarino__(mesa, x, y):
mesa[x][y] = '[S] '
return mesa
# Validacion de que ya se ingresaron esas coordenadas
coordenadas_usuario = []
coordenadas_computadora = []
def __validar__(player,x,y):
individual = str(x+1)+str(y+1)
if player == 'u':
if individual in coordenadas_usuario:
return True
else:
coordenadas_usuario.append(individual)
return False
elif player == 'c':
if individual in coordenadas_computadora:
return True
else:
coordenadas_computadora.append(individual)
return False
# El usuario escoge
def __usuario_escoge__(mesaus, DIMENSION_,turno):
p = 0
while True:
p = p + 1
__imprimir_mapa__('u',mesaus, DIMENSION_)
if p > turno:
break
print "\033[1m"+ 'Colocando un submarino: ' + "\033[0m"
x, y = __obtener_coordenada__(DIMENSION_) # Obtiene coordenadas (x,y) del 0 a dimension
validacion = __validar__('u',x,y) # Devuelve True si dicha coordenada ya fue ingresada, False si no
# Si la coordenada ya se ingresó se resta un turno
if validacion:
p = p - 1
print "\033[1m"+ 'Verifica el mapa, ya hay un submarino en esa coordenada' + "\033[0m"
else: # Si la coordenada no se ha ingresado, se coloca el submarino en la mesa
__colocar_submarino__(mesaus, x, y)
raw_input("\033[1m"+'Se han colocado todos los submarinos, presiona ENTER para continuar' + "\033[0m") # Una 'pausa'
return mesaus
# Configurar tabla de juego
def __configurar_mesa__(mesa, dmnsn):
# Esta función rellena la mesa de dmnsn * dmnsn con -1
for i in range(dmnsn):
__mesa_fila__ = []
for j in range(dmnsn):
__mesa_fila__.append(-1)
mesa.append(__mesa_fila__)
ataques_jugador = []
ataques_computadora = []
# Verifica si dio en el blanco
def __validar_ataque__(mesa,player, x, y):
"""
__validar_ataque__ es una función que entra después de que las coordenadas hayan sido ingresadas para el ataque.
Retorna un número (-1,0,1) dependiendo a dónde fue el misil
:param mesa: De qué mesa se trata
:param player: A qué jugador atacar. c = computadora; u = usuario
:param x: La coordenada x
:param y: La coordenada y
:return: -1 si la coordenada ya se ingresó anteriormente
:return: 1 si la coordenada ingresada dió en el blanco
:return: 0 si la coordenada ingresada no dió en el blanco
"""
coordenada = str(x+1) + str(y+1)
if player == 'c': # Turno del usuario
if coordenada in ataques_jugador:
return -1
else:
if coordenada in coordenadas_computadora:
mesa[x][y] = '[!] '
ataques_jugador.append(coordenada)
return 1
else:
mesa[x][y] = '[*] '
ataques_jugador.append(coordenada)
return 0
elif player == 'u': # Turno de la computadora
if coordenada in ataques_computadora:
return -1
else:
if coordenada in coordenadas_usuario:
mesa[x][y] = '[!] '
ataques_computadora.append(coordenada)
return 1
else:
mesa[x][y] = '[*] '
ataques_computadora.append(coordenada)
return 0
# El jugador ingresa coordendas para mandar misil
def __jugador_ataca__(mesacomp,dimension):
"""
Obtiene las coordenadas del usuario y hace el ataque.
Si el jugador da en el blanco, cambia a [!] y suma punto.
:param mesacomp:
:param dimension:
:return:
"""
global pts_jugador
while True:
x, y = __obtener_coordenada__(dimension)
validacion = __validar_ataque__(mesacomp, 'c', x, y)
if validacion == -1:
print "\033[1m"+'Ya se ha mandado un mísil a dicha coordenada, intenta de nuevo' + "\033[0m"
elif validacion == 0:
print "\033[1m"+'Mísil mandado a ' + str(x+1) + ',' + str(y+1) + "\033[0m"
time.sleep(1)
print "\033[1m"+'El mísil no dió en el blanco :(' + "\033[0m"
return mesacomp
elif validacion == 1:
print "\033[1m"+'Mísil mandado a ' + str(x+1) + ',' + str(y+1) + "\033[0m"
time.sleep(1)
print "\033[1m"+'¡El mísil dió en el blanco!' + "\033[0m"
pts_jugador = pts_jugador + 1
return mesacomp
# La computadora elige aleatoriamente las coordenadas
def __computadora_ataca__(mesaus, DIMENSION_):
global pts_computadora
intento = True
while intento:
# Se elige aleatoriamente las coordenadas
x = random.randint(0, DIMENSION_ - 1)
y = random.randint(0, DIMENSION_ - 1)
validacion = __validar_ataque__(mesaus, 'u', x, y)
if validacion == -1:
print "\033[1m"+'La computadora ya mandó un mísil a esa coordenada, lo volverá a intentar' + "\033[0m"
intento = True
elif validacion == 0:
print "\033[1m" + 'Mísil mandado a ' + str(x + 1) + ',' + str(y + 1) + "\033[0m"
time.sleep(1)
print "\033[1m"+'Excelente, la computadora no dió en el blanco' + "\033[0m"
intento = False
return mesaus
elif validacion == 1:
print "\033[1m" + 'Mísil mandado a ' + str(x + 1) + ',' + str(y + 1) + "\033[0m"
time.sleep(1)
print "\033[1m"+'La computadora ha destruido uno de tus submarinos' + "\033[0m"
pts_computadora = pts_computadora + 1
intento = False
return mesaus
def __juego__():
print "\033[1m"+ '== BATALLA NAVAL ==' + "\033[0m"
# AQUÍ VA LA HISTORIA
msg=('Instrucciones: '
'Hay dos mesas de la misma dimensión y te enfrentaras a un enemigo desconocido :3 '
'Primero ingresaras las coordenadas donde se localizara tus submarinos (columna,fila) Ej. 3,2 '
'posteriormente, el enemigo colocara sus submarinos, por defecto estaran ocultos para ti.'
' El objetivo es mandar mísiles con las coordenadas que ingresaste para atacar al enemigo.'
' Gana el primero en derribar todos los submarinos')
mesa = []
__configurar_mesa__(mesa, DIMENSION_) # Configura una mesa de DIMENSION_ * DIMENSION_
print(textwrap.fill(msg, width=112))
# Configurar la mesa del usuario y computadora. Se copia la mesa a mesa_usuario y mesa_computadora
mesa_usuario = copy.deepcopy(mesa)
mesa_computadora = copy.deepcopy(mesa)
# COLOCACIÓN DE SUBMARINOS
# El usuario escoge coordenadas
mesa_usuario = __usuario_escoge__(mesa_usuario, DIMENSION_,TURNO_)
# print coordenadas_usuario
# La computadora escoge coordenadas
mesa_computadora = __computadora_escoge__(mesa_computadora, DIMENSION_, TURNO_)
# print coordenadas_computadora
# Main loop
while 1:
#
# Turno del jugador
# Jugador ingresa coordenadas para atacar a la computadora
mesa_computadora = __jugador_ataca__(mesa_computadora, DIMENSION_) # Por eso se está modificando la mesa_computadora
# Si pasó la validación, pasa a atacar
if pts_jugador == TURNO_:
print "\033[1m"+ 'Has derrivado todos los submarinos de la computadora, ¡HAS GANADO!' + "\033[0m"
raw_input("\033[1m"+ 'Presiona ENTER para terminar' + "\033[0m")
quit()
# Muestra el mapa enemigo, si dió en el blanco [!], si no, [*]
__imprimir_mapa__('c',mesa_computadora,DIMENSION_)
raw_input('Presiona ENTER para continuar')
# Si dió en el blanco[!], se incrementa un punto
#
# Turno del enemigo
# Computadora 'adivina' las coordenadas
mesa_usuario = __computadora_ataca__(mesa_usuario, DIMENSION_)
# Se valida si la PC ya atacó a esa coordenada
#
if pts_computadora == TURNO_:
print "\033[1m"+ 'La computadora ha derrivado todos tus submarinos, has perdido.' + "\033[0m"
raw_input("\033[1m"+ 'Presiona ENTER para terminar' + "\033[0m")
quit()
# Si pasó la validación, pasa a atacar
# Muestra el mapa enemigo, si dio en blanco [!], si no, [o]
__imprimir_mapa__('u',mesa_usuario,DIMENSION_)
# Si dió en el blanco[!], se incrementa un punto
#
if __name__ == '__main__':
pts_jugador = 0
pts_computadora = 0
__juego__()
view raw Battleship.py hosted with ❤ by GitHub
JUEGO DE PIEDRA, PAPEL O TIJERA

Hecho por:

David y Betin


# -*- coding: utf-8 -*-
import random
from time import sleep
print "Bienvenido al juego de piedra, papel o tijera."
print ""
sleep(2)
print "Por defecto ganara el mejor de tres, pero lo puedes cambiar."
sleep(1)
print ""
# Funcion de la lógica del juego
def juego(intentos):
x = 0
jugador = 0
pc = 0
while str(x) != intentos:
print "Piedra, papel o tijera?"
opc = raw_input()
opc = opc.lower()
azar = random.choice(["piedra", "papel", "tijera"])
if opc == azar:
print "La computadora tambien elijio", azar
print ""
elif azar == "tijera" and opc == "papel":
x += 1
pc += 1
print "El PC saco", azar
print "Tu", jugador, "PC", pc
print ""
elif azar == "tijera" and opc == "piedra":
x += 1
jugador += 1
print "La computadora saco", azar
print "Tu", jugador, "PC", pc
print ""
elif azar == "piedra" and opc == "tijera":
x += 1
pc += 1
print "La computadora saco", azar
print "Tu", jugador, "Computadora", pc
print ""
elif azar == "piedra" and opc == "papel":
x += 1
jugador += 1
print "El PC saco", azar
print "Tu", jugador, "PC", pc
print ""
elif azar == "papel" and opc == "tijera":
x += 1
jugador += 1
print "La computadora saco", azar
print "Tu", jugador, "Computadora", pc
print ""
elif azar == "papel" and opc == "piedra":
x += 1
pc += 1
print "La computadora saco", azar
print "Tu", jugador, "Computadora", pc
print ""
else:
print "Opcion incorrecta, intentalo otra vez"
print ""
if pc > jugador:
print "Gano la computadora", pc, "a", jugador
elif pc == jugador:
print "Empataron", jugador, "a", pc
else:
print "Ganaste", jugador, "a", pc
print ""
print "El juego termino"
def main():
print "Escribe 1 para jugar al mejor de tres."
print "Escribe 2 para cambiar la modalidad del juego."
opcion = input()
if opcion == 1:
juego("3")
print ""
restart = raw_input("Quieres jugar de nuevo?(s/n): ")
restart = restart.lower()
if restart == "s":
print ""
main()
else:
intentos = raw_input("Introduce el numero de partidas: ")
juego(intentos)
print ""
restart = raw_input("Quieres jugar de nuevo?(s/n): ")
restart = restart.lower()
if restart == "s":
print ""
main()
else:
print "Fin"
main()
view raw PPT.py hosted with ❤ by GitHub
JUEGO DE AHORCADO

Hecho por:

Cynthia Lizeth Barron Morales
Alfredo De Jesus Santos Gutierrez

# -*- coding: utf-8 -*-
import random
import textwrap
import time
global numeros
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
global palabras
palabras = ['edita', 'igual', 'habil', 'abajo', 'subir', 'programar', 'codigo', 'libreria', 'python',
'pycharm', 'graficacion', 'editor ', 'fuente', 'c', 'java',
'javascript', 'arreglo', 'bucle', 'for', 'while', 'random',
'choice', 'puntoycoma', 'llaves', 'main', 'variable',
'operacion', 'alineado', 'geometria fractal', 'formato', 'almacenamiento',
'hardware', 'software']
#funciones
def AdivinaElNumero():
ancho_linea = 72
linea_punteada = ancho_linea * '.'
print(linea_punteada)
volver_ajugar = 1
print("\033[1m" + "Juego de adivina el numero" + "\033[0m")
msg = ("Bienvenido al juego de adivina el numero."
"El juego de adivina el numero, es un juego con el cual debemos adivinar el numero que piensa el otro jugador. En este caso la computadora es el que piensa el numero "
"Crees que eres lo suficientemente bueno en adivinar, bueno pues juguemos, pero antes te dare las reglas, tienes solo 3 intentos, como en el tradicional, cada que te equivoques al ingresar un numero estas a una vida menos de perder, el numero es elegido aleatoriamente en un intervalo del 1 al 10, asi que no esperes adivinar tan facil, pero si eres bueno sera pan comido, y para no ser tan malo, cuando ingreses tu primer numero te dire si estas muy bajo o muy alto del numero en el que estoy pensando, SUERTE")
print(textwrap.fill(msg, width=ancho_linea))
print(linea_punteada)
miNombre = raw_input('Escribe tu nombre: ')
while volver_ajugar == 1:
numerosIntentos = 0 # El numero de veces que el jugador a intentado adivinar
numero = random.choice(numeros) # Para elegir un elemento aleatorio de una lista o arreglo
print ('\n Bienvenid@, ' + miNombre + '. Estoy pensado en un numero del 1 y 10 ')
while numerosIntentos < 3:
print("\n Adivina en que numero estoy pensando: ")
adivina = input()
adivina = int(adivina)
numerosIntentos = numerosIntentos + 1
if adivina < numero:
print ("Tu intento es demasiado bajo ")
elif adivina > numero:
print('Tu intento es demasiado alto')
elif adivina == numero:
break
if adivina == numero:
numerosIntentos = str(numerosIntentos)
print('Buen trabajo' + miNombre + '. Has adivinado mi numero en ' + numerosIntentos + ' intentos')
if adivina != numero:
numero = str(numero)
print ('\n Se han terminado tus intentos. Perdiste !!! El numero que estaba pensando era ' + numero)
print(linea_punteada)
volver_ajugar = input("¿Quieres jugar de nuevo? Si(1)/No(0):")
print(linea_punteada)
def Ahorcado():
if __name__ == '__main__':
volver_ajugar = 1
ancho_linea = 72
linea_punteada = ancho_linea * '.'
print(linea_punteada)
print("\033[1m" + "Juego del ahorcado" + "\033[0m")
msg = ("Bienvenido al juego del ahorcado."
"El juego del ahorcado, anteriormente se jugaba a lapiz y papel. "
"Crees que eres lo suficientemente bueno en adivinar y usar estrategias para esto, bueno pues juguemos, pero antes te dare las reglas, tienes solo 5 intentos, como en el tradicional, cada que te equivoques al ingresar una letra estas a una vida menos de perder, las palabras son elegidas aleatoriamente, asi que no esperes adivinar tan facil, pero si eres bueno sera pan comido, y para no ser tan malo, recuerda que no hay palabras sin las vocales ;D , SUERTE")
print(textwrap.fill(msg, width=ancho_linea))
print(linea_punteada)
nombre = raw_input("¿Como te llamas? ")
while volver_ajugar == 1:
print "Hola, ", nombre, ". Es hora de jugar al ahorcado."
print
time.sleep(1)
print "Comienza a adivinar "
time.sleep(0.5)
palabra = random.choice(palabras)
tupalabra = ''
vida = 5
while vida > 0:
fallas = 0
for letra in palabra:
if letra in tupalabra:
print letra,
else:
print "_",
fallas += 1
if fallas == 0:
print("Felicidades, ganaste.")
break
tuletra = raw_input("Introduce una letra: ")
tupalabra += tuletra
if tuletra not in palabra: # comando de python que permite verificar si la letra esta o no
vida -= 1
print("Te equivocaste vuelve a intentar")
print("Tu tienes ", +vida, " vidas")
if vida == 0:
print("Perdiste! tus intentos han acabado, la palabra era: "+palabra)
else:
print("Gracias por participar ")
print(linea_punteada)
volver_ajugar = input("¿Quieres jugar de nuevo? Si(1)/No(0):")
#main
opc = 0
ancho_linea = 72
linea_punteada = ancho_linea * '.'
print(linea_punteada)
while opc !=3:
print "--Menu de juego--"
print "1. Ahorcado"
print "2. Adivina el numero"
print "3. Terminar"
opc = input("\nIngrese su opcion: ")
print(linea_punteada)
if (opc == 1):
Ahorcado()
elif (opc == 2):
AdivinaElNumero()
elif (opc == 3):
print "Programa Terminado"
else:
print"Opcion Incorrecta ,La opcion no se encuentra en el menu"
print(linea_punteada)
view raw Juego1.py hosted with ❤ by GitHub


Thursday, September 26, 2019

JUEGO DE PIEDRA, PAPEL Y TIJERA EN PYTHON

Hecho por:
  • Cassandra Ayde González Vega
  • Brandon Alejandro Esquivel Rivas

# -*- coding: utf-8 -*-
#JUEGO DE PIEDRA PAPEL TIJERAS
import random
jugando = True #Mientras jugando sea verdad seguira corriendo
anch = 80
ast = anch * '*'
print(ast)
print ("\033[1m" + "BIENVENIDO AL JUEGO DE PIEDRA, PAPEL O TIJERA" + "\033[0m")
print "Instrucciones: Escribe una de las 3 opciones como se indica 'Piedra' 'Papel' 'Tijera'"
while jugando:
anch = 80
ast = anch * '*'
print(ast)
print("\033[1m" + "Piedra, Papel O Tijera" + "\033[0m")
pc = random.choice(["Piedra", "Papel","Tijera"])#randint para numeros 1 a 3
player = raw_input("Escriba la opcion que desee: ").capitalize() #Capitalize respeta mayusculas y minusculas
#CONDICIONES
if player == "Piedra":
if pc == "Piedra":
print ("PC elije 'Piedra'. Es un Empate.")
elif pc == "Papel":
print ("PC elije 'Papel'. Papel envuelve a Piedra, por lo tanto pierdes :(")
else:
print ("PC elige 'Tijera'. Piedra rompe Tijeras, por lo tanto ganas :)")
elif player == "Papel":
if pc == "Papel":
print ("PC elije 'Papel'. Es un Empate.")
elif pc == "Piedra":
print ("PC elije 'Piedra'. Papel envuelve a Piedra, por lo tanto ganas :)")
else:
print ("PC elige 'Tijera'. Tijeras corta Papel, por lo tanto pierdes :(")
elif player == "Tijera":
if pc == "Tijera":
print ("PC elije 'Tijera'. Es un Empate.")
elif pc == "Papel":
print ("PC elije 'Papel'. Tijera corta a Papel, por lo tanto ganas :)")
else:
print ("PC elige 'Piedra'. Piedra rompe Tijera, por lo tanto pierdes :(")
else:
print ("No has escogido una opcion valida.")
#OPCION PARA VOLVER A JUGAR
continuar = ""
while continuar != 'n' or continuar != "s":
continuar = raw_input("Quieres volver a jugar? (s/n): ")
if continuar == 'n'.capitalize():
jugando = False
print ("\033[1m" + "\nGRACIAS POR JUGAR HASTA LA PROXIMA " + "\033[0m")
break
elif continuar == 's'.capitalize():
break
else:
print ("Opcion no valida, seleccione 'n' para NO, o 's' para SI" )
#PROXIMAMENTE CONTEO DE PARTIDAS GANADAS Y PERDIDAS

Wednesday, September 25, 2019

EJERCICIO CON ARREGLO PARTE 4

1) Desplegar arreglo de numeros (normal)
2) Ordenar arreglo a la inversa y desplegar
3) Ordenar arreglo de numeros ascendente
4) Salir
dias = ["Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado"]
#metodos
def MostrarArray():
print dias[:]
def InverseArray():
dias.reverse()
print dias[:]
def AscendenteArray():
dias.sort()
print dias[:]
def Salir():
SystemExit
#main
opc= 0
while opc != 6:
print '\nPrograma con arreglo'
print 'Menu'
print '1.- Desplegar arreglo de numeros (normal)'
print '2.- Ordenar arreglo a la inversa y desplegar'
print '3.- Ordenar arreglo de numeros ascendente'
print '4.- Salir'
opc = input('Ingrese la opcion: ')
if opc == 1:
MostrarArray()
if opc == 2:
InverseArray()
if opc == 3:
AscendenteArray()
if opc == 4:
Salir()
view raw ArregloDias.py hosted with ❤ by GitHub
EJERCICIO CON ARREGLO PARTE 3

Ejercicio donde se muestre las siguientes opciones:

1) Ingresar nombres y guardar en arreglo
2) Desplegar arreglo de nombres (normal)
3) Ordenar arreglo a la inversa y desplegar
4) Ordenar arreglo de numeros asendente
5) Borrar arreglo
6) Salir
EJERCICIO CON ARREGLO PARTE 2

Ejercicio donde se muestre las siguientes opciones:

1) Ingresar numeros y guardar en arreglo
2) Desplegar arreglo de numeros (normal)
3) Ordenar arreglo a la inversa y desplegar
4) Ordenar arreglo de numeros asendente
5) Borrar arreglo
6) Salir


numeros = []
#metodos
def GuardarArray():
number = int(input('Cuantos numeros ingresar: '))
i = 0
for i in range(number):
num = raw_input('Ingresa los numeros: ')
numeros.append(num)
print 'Arreglo guardado'
def MostrarArray():
print numeros[:]
def InverseArray():
numeros.reverse()
print numeros[:]
def AscendenteArray():
numeros.sort()
print numeros[:]
def BorrarArray():
del numeros[:]
print 'Arreglo borrado'
def Salir():
SystemExit
#main
opc= 0
while opc != 6:
print '\nPrograma con arreglo'
print 'Menu'
print '1.- Ingresar numeros y guardar en arreglo'
print '2.- Desplegar arreglo de numeros (normal)'
print '3.- Ordenar arreglo a la inversa y desplegar'
print '4.- Ordenar arreglo de numeros ascendente'
print '5.- Borrar arreglo'
print '6.- Salir'
opc = input('Ingrese la opcion: ')
if opc == 1:
GuardarArray()
if opc == 2:
MostrarArray()
if opc == 3:
InverseArray()
if opc == 4:
AscendenteArray()
if opc == 5:
BorrarArray()
if opc == 6:
Salir()

Monday, September 23, 2019

Ejercicio con Arreglo Parte 1

Participaciones en clase

Participación 1.
Partipacion 2.
Participacion 3.
EJEMPLOS CON LA FUNCION RANGE 

Ejemplo 1.
Ejemplo 2.

Wednesday, September 18, 2019

EJERCICIOS CON USO DE WHILE

EJERCICIO 1:

En este ejercicio donde se pide ingresar un número inicial y un número final para que en el rango de esos dos números se vayan sumando 4 veces.


EJERCICIO 2:

En este ejercico se pide ingresar un número inicial y un número final para que en el rango de esos dos número se muestre los números pares y los números impares.
EJERCICIOS DE CICLO FOR

EJERCICIO 1:

En este ejercicio donde se pide ingresar un número inicial y un número final para que en el rango de esos dos números se vayan sumando 4 veces.



EJEMPLOS CON EL CICLO FOR

Ejemplo 1 de For:

Código donde se ejecuta la palabra "Hola" tres veces con un ciclo For.

Ejemplo 2 de For:

Código donde se ejecuta un comienzo y un final con un ciclo For.

Ejemplo 3 de For:

Es una lista de [1,1,1].

Ejemplo 4 de For:

Ciclo sin variable de control i.

Wednesday, September 4, 2019

PrestamoBanco.py

En este programa se calcula los ingresos y egresos para autorizar un préstamo del banco.
def _cuotas(prestamo, meses):
cuotas = prestamo/meses
return cuotas
def _Prestamo(ingresos, egresos):
prestamo = input("Monto del prestamo: ")
meses = input("Cuantos meses de pago?: ")
print "Monto de pago por mes: ", _cuotas(prestamo, meses)
def edad():
edad = input("Ingrese su edad: ")
if edad >= 18:
ingresos = input("Dame tus ingresos: ")
egresos = input("Dame tus egresos: ")
if ingresos >= egresos:
_Prestamo(ingresos, egresos)
else:
print ("No es posible hacer prestamo")
else:
print "No es mayor de edad"
edad()

Dulces.py

En este ejercicio se ingresa un monto de dinero menor a $5.00 pesos y de acuerdo con la letra que se ingrese, se mostrará el cambió de la compra.
def calcularcambio(precioProducto, monto):
return monto - precioProducto
def iniciar(monto):
dulce = raw_input("Elija la letra: ")
if dulce == "a":
precioProducto = 2.5
print "Su cambio es: ", calcularcambio(precioProducto, monto)
elif dulce == "b":
precioProducto = 1.4
print "Su cambio es: ", calcularcambio(precioProducto, monto)
elif dulce == "c":
precioProducto == 1.2
print "Su cambio es: ", calcularcambio(precioProducto, monto)
else:
return "Letra incorrecta"
monto = input("Ingrese el monto: ")
if monto < 5:
print iniciar(monto)
else:
print "Monto debe de ser menor a 5."
view raw Dulces.py hosted with ❤ by GitHub

Calificaciones.py

Ejercicio donde se ingresa una calificación mostrando si es insuficiente, suficiente y bien.
def notas(nota):
if nota >= 0 and nota <= 3:
return "Insuficiente"
elif nota >= 4 and nota <= 6:
return "Suficiente"
elif nota >= 7 and nota <= 10:
return "Bien"
nota = input("Ingrese la nota:")
print notas(nota)



Multiplos.py

Es un ejercicio donde se ingresa un número y muestra el multiplo del mismo.
def xmayor (num1, num2):
if num2 % num1 == 0:
print num1, "Es multiplo de " , num2
else:
print num1, "No es multiplo de ", num2
num1 = input("Dame el primer numero:")
num2 = input("Dame el segundo numero:")
print xmayor(num1, num2)
view raw Multiplos.py hosted with ❤ by GitHub

Uso de if en Python Parte 3

uso if 3.py

Es un ejercicio donde al ingresar un número se identifica si es negativo, positvo o si es un cero.
#USO DE METODOS CON IF == Edad uso if 1, uso if 2 y numposneg uso if 3
def Numero (num):
if num > 0:
return "Es positivo"
elif num < 0:
return "Es negativo"
elif num == 0:
return "Es un cero"
num = input("Dame el numero:")
print(Numero(num))
""" print "Dame el valor"
a = int(input(""))
if a > 0:
print "Es un numero positivo"
elif a == 0:
print "El numero es cero"
else:
print "Es numero negativo" """


Uso de if en Python Parte 2

uso if 2.py

Es un ejercicio donde se pide un número y te da el nombre del número que se ingresó.
print "Dame el valor"
a = int(input(""))
if a == 5:
print "Es un cinco"
elif a == 6:
print "Es un seis"
elif a == 7:
print "Es un siete"
else:
print "No es ningun numero deseado"
view raw uso if 2.py hosted with ❤ by GitHub


Uso de if en Python Parte 1

Edad uso if 1.py

Es un ejercicio donde se aplica el uso de if en un código que pide la edad del usuario para decirle si es niño, joven, adulto o si ingresaron números negativos.
#encoding: utf-8
print "Dame la Edad:"
edad = int(input(""))
if edad >= 0 and edad < 18:
print "Eres un niño"
elif edad < 0:
print "No numeros negativos"
elif edad >= 19 and edad <= 27:
print "Eres un joven"
elif edad >= 27 and edad <= 60:
print "Eres un adulto"


Math.py

En este ejercicio se muestra el uso de la librería Math.
#PROGRAMA_MANEJO_MATEMATICAS
import time
from math import *
print"Ingresa un valor:"
x=int(input(""))
print"Ingresa un segundo valor:"
y=int(input(""))
s=log(x+y)
print"El resultado es" , s
time.sleep(5)
view raw Math.py hosted with ❤ by GitHub

Suma.py

Ejercicio donde se aplica cómo hacer una suma básica en Python.
#PROGRAMA_SUMA_BASICA
import time
print"Ingresa un valor:"
a=int(input(""))
print"Ingresa un segundo valor:"
b=int(input(""))
suma=a+b
print"Suma de Valores Ingresados"
print(suma)
time.sleep(5)
view raw Suma.py hosted with ❤ by GitHub



Tuesday, September 3, 2019

Ejemplo1.py

Se escribe el mismo código del ejercicio de Ejemplo1.py pero ahora en el IDE Pycharm, se observará que hace la misma ejecución.
#mi marco
from Tkinter import *
raiz=Tk()
raiz.title("Mi Segunda Aplicacion")
#mi etiqueta nombre
nombreLabel1=Label(raiz,text="Nombre del Alumno:")
nombreLabel1.grid(row=0,column=0)
#el entry del nombre (textfield)
cuadronombre=Entry(raiz)
cuadronombre.grid(row=0,column=1)
#mi etiqueta apellido
apellidoLabel1=Label(raiz,text="Apellido del Alumno:")
apellidoLabel1.grid(row=1,column=0)
#el entry del apellido (textfield)
cuadroapellido=Entry(raiz)
cuadroapellido.grid(row=1,column=1)
raiz.mainloop()
view raw Ejemplo1.py hosted with ❤ by GitHub
Instalación de IDE para Python (Pycharm)

Instrucciones para la instalación del IDE
IDEs para Python

1. PyCharm













PyCharm de JetBrains es muy popular y funciona como un “encanto” para los desarrolladores de Python en todos los niveles de experiencia. Entre las funciones inteligentes se incluye un editor de código completo que ofrece sugerencias que tienen en cuenta el contexto a medida que se escribe. Puede sangrar automáticamente, detectar texto duplicado y comprobar si hay errores en los resaltes. Además, hay funciones de búsqueda inteligentes para buscar cada palabra en un santiamén. Aparte de Go-To’s, hay un modo de lente para pasar el puntero del ratón cerca del texto, e incluso puede marcarlo para volver atrás más tarde.

2. PyDev




Si está dispuesto a renunciar a un poco de comodidad por algo de código abierto y gratuito, PyDev ofrece una interfaz útil. Hay que recordar que viene con Eclipse, que está disponible por separado. Para un IDE libre, PyDev no carece de funciones de codificación inteligente. Estos incluyen la finalización automática de código, sangrados inteligentes y sangrados de bloque, resaltando los corchetes coincidentes, búsqueda simple y un depurador. Además, todas las funciones necesarias están disponibles en el propio menú de navegación, y puede analizar los códigos fácilmente.

3. Atom IDE


Si está buscando un editor de texto de Python que contenga las soluciones para cada problema que pueda imaginar, Atom es el que mejor se adapta. De hecho, se consideran un editor de texto “hackable” para el siglo XXI. Esta comunidad libre y de código abierto, está respaldada por una licencia MIT. Hay paquetes que puedes instalar desde el sitio web de Atom. Además, cuentan con una comunidad de Slack donde puedes encontrar ayuda y colaboración para tus proyectos.

4. Spyder


Spyder es un poderoso entorno científico escrito en Python, para Python, y diseñado por y para científicos, ingenieros y analistas de datos. Ofrece una combinación única de la funcionalidad avanzada de edición, análisis, depuración y perfilado de una herramienta de desarrollo integral con la exploración de datos, ejecución interactiva, inspección profunda y hermosas capacidades de visualización de un paquete científico.

5. PyScripter


PyScripter es un entorno de versión muy nuevo para Python. Es completamente gratuito y de código abierto y extremadamente ligero, a diferencia de los IDEs premium. El compilador viene con todas las características básicas de una plataforma de codificación y puede satisfacer las necesidades de principiantes y expertos. Todos los programas se ven en la ventana de ejecución, y puede ejecutarlos varias veces para comprobar si hay errores.
Softwares para Graficación

SOLIDWORKS

sw

Es un software CAD (diseño asistido por computadora) para modelado mecánico en 3D, desarrollado en la actualidad por SolidWorks Corp., una filial deDassault Systèmes, S.A. (Suresnes, Francia), para el sistema operativo Microsoft Windows. Su primera versión fue lanzada al mercado en 1995 con el propósito de hacer la tecnología CAD más accesible.

El programa permite modelar piezas y conjuntos y extraer de ellos tanto planos técnicos como otro tipo de información necesaria para la producción. Es un programa que funciona con base en las nuevas técnicas de modelado con sistemas CAD. El proceso consiste en traspasar la idea mental del diseñador al sistema CAD, “construyendo virtualmente” la pieza o conjunto. Posteriormente todas las extracciones (planos y ficheros de intercambio) se realizan de manera bastante automatizada.

AUTOCAD

autocad-2016-banner-lockup-1200x132

Diseñe y dé forma al mundo que lo rodea con poderosas herramientas de diseño conectadas en el software AutoCAD. Cree sorprendentes diseños 3D, acelere la documentación y conéctese con la nube para colaborar en diseños y obtener acceso a ellos desde su dispositivo móvil.

CAD - Diseño Asistido por Computadora

Resultado de imagen para cad logo

Computer-aided design (CAD) es el uso de programas computacionales para crear representaciones gráficas de objetos físicos ya sea en segunda o tercera dimensión (2D o 3D). El software CAD puede ser especializado para usos y aplicaciones específicas. CAD es ampliamente utilizado para la animación computacional y efectos especiales en películas, publicidad y productos de diferentes industrias, donde el software realiza cálculos para determinar una forma y tamaño óptimo para una variedad de productos y aplicaciones de diseño industrial.

En diseño de industrial y de productos, CAD es utilizado principalmente para la creación de modelos de superficie o sólidos en 3D, o bien, dibujos de componentes físicos basados en vectores en 2D. Sin embargo, CAD también se utiliza en los procesos de ingeniería desde el diseño conceptual y hasta el layout de productos, a través de fuerza y análisis dinámico de ensambles hasta la definición de métodos de manufactura. Esto le permite al ingeniero analizar interactiva y automáticamente las variantes de diseño, para encontrar el diseño óptimo para manufactura mientras se minimiza el uso de prototipos físicos.


Cinema 4D

Cinema 4D es un software de creación de gráficos y animación 3D desarrollado originariamente para Commodore Amiga por la compañía alemana Maxon, y portado posteriormente a plataformas Windows y Macintosh (OS 9 y OS X).

Permite modelado (primitivas, splines, polígonos), texturización y animación. Sus principales virtudes son una muy alta velocidad de renderización, una interfaz altamente personalizable y flexible, y una curva de aprendizaje (comparado con otros programas de prestaciones profesionales similares) muy vertical; en poco tiempo se aprende mucho. Una de las características más destacadas de Cinema 4D es la modularidad.




Ejemplo1.py

El propósito de este ejercicio es para utilizar la extensión .py e invocarla desde el interprete en su respectiva carpeta donde fue guardado usando el comando cd.

Ejemplo1

Saturday, August 31, 2019

Comandos esenciales de la consola de Windows

Lista breve
Mi Segunda Aplicación
Usando etiquetas y cajas de texto con Tkinter

Las etiquetas con Tkinter se hacen con la función Label(ventana,text) y para posicionarlo en la ventana es con la función grid(row, column). El primer parámetro de la función Label es la de instancia de la ventana, es decir, el resultado de ventana=Tk(), y a la variable text se le asigna un valor tipo cadena entre dos comillas.

Una caja de texto permite al usuario ingresar cualquier texto de una línea. En Tcl/Tk está representada a través de la clase ttk.Entry, que a su vez hereda la funcionalidad de un control más primitivo llamado tk.Entry.

Ver resultados
Creación del "Hola, mundo" en wxPython

#Importar el paquete wxPython.
import wx

#Crear un objeto de aplicación.
app = wx.App()

#Luego, un frame.
frm = wx.Frame(None, title("Hello, world")

#Mostrar
frm.show()

#Iniciarlo
app.mainloop()

Resultados
Instalación de wxPython

wxPython es una librería para el desarrollo de interfaces gráficas en Python. Permite crear aplicaciones robustas y funcionales de una manera muy simple, proporcionando además una enorme cantidad de controles gráficos. Básicamente, wxPython es un wrapper de la librería wxWidgets escrita en C++, y por tanto al igual que esta es de código abierto, multiplataforma y cuenta con una documentación bastante elaborada.

Se inicia abriendo el interprete cmd y solamente se escribe ''pip install wxpython'' para que se instala automáticamente la librería.

Resultados

Ejemplo de uso de Tkinter

¿Cómo hacer una ventana de comando desde el interprete?
Módulo Tkinter

Es un módulo de Python que dota unas funciones para el desarrollo de interfaces de usuario.

Friday, August 30, 2019

Ejercicios con módulos de Python

Ejercicios.
¿Qué son los módulos en Python?

Un módulo es un archivo conteniendo definiciones y declaraciones de Python. El nombre del archivo es el nombre del módulo con el sufijo .py agregado. Dentro de un módulo, el nombre del mismo (como una cadena) está disponible en el valor de la variable globlal _name_.

Puede contener tanto declaraciones ejecutables como definiciones de funciones. Estas declaraciones están pensadas para inicializar el módulo. Se ejecutan solamente la primera vez que el módulo se encuentra en una sentencia import

Los módulos se pueden consultar ejecutando help ("modules") en la interfez interactiva. Los módulos pueden contener funciones y valores, clases y objetos.
EJERCICIOS CON INTERPRETE CMD EN PYTHON.

Click para ver más información.
¿Cómo instalar Python?

Hacer click aquí.

Thursday, August 29, 2019

¿Qué es PIP para Python?

PIP es un acrónimo que significa "Paquetes de Instalación PIP" o "Programa de Instalación Preferida". Es una utilidad de línea de comandos que le permite instalar, reinstalar o desinstalar paquetes PyPIcon un comando  simple y directo: "pip"

¿Se instala PIP con Python?

Si se utiliza Python 2.7.9 (o superior) o Python 3.4 (o superior), entonces PIP viene instalado con Python por defecto. 

Wednesday, August 28, 2019

LIBRERIAS DE PYTHON

HACER CLICK

¿Qué es Django?

Django es un framework web diseñado para realizar aplicaciones de cualquier complejidad en unos tiempos muy razonables. 
Está escrito en Python y tiene una comunidad muy amplia, que está en continuo crecimiento.

Webs que utilizan Django

Desde la página web de Django se puede ver unos destacados, los cuales son como la de National Geografic, Disqus, Instragram, Mozilla Foundation y Pinterest, que son webs con un tráfico altísimo y utilizan Django.