lunes, 11 de noviembre de 2019

Figuras con TKinter.

Introducción de figuras con tkinter

Creación de una centana con tkinter
v0=Tk()


v0.title('Ventana principal')


v0.config(bg='green')


v0.geometry("500x500")




v0.mainloop()#El programa siempre lo debe llevar al finalizar cuando utilizamos el tkinter




# -*- coding: utf-8 -*-
from Tkinter import *
#crecion de la ventana principal
v0 = Tk()
v0.title('Ventana principal')
v0.config(bg = 'brown')
v0.geometry('500x500')

#funciones
def mostrar(num):
    #ventana secundaria
    v1 = Toplevel(v0)
    v1.title('ventana hija')
    v1.protocol('Wn_DELETE_WINDOW',"onexit")
    v1.geometry('300x300')
    #condiciones para los botones
    if num == 1:
        canvas1=Canvas(v1,width=200,height=200, bg='white')
        canvas1.pack(expand = YES, fill = BOTH)
        canvas1.create_line(100,200,200,100, width = 10, fill='blue')
    if num == 2:
        canvas2=Canvas(v1,width=200,height=200, bg='white')
        canvas2.pack(expand = YES, fill = BOTH)
        canvas2.create_rectangle(100,200,200,100, width = 10, fill='blue')
    if num == 3:
        canvas3=Canvas(v1,width=200,height=200, bg='white')
        canvas3.pack(expand = YES, fill = BOTH)
        canvas3.create_oval(100,200,200,100, width = 10, fill='blue')


def ocultar(ventana):ventana.destray()
def ejecutar(f):v0.after(200,f)

#botones
b1= Button(v0,text='Abrir ventana con linea',command=lambda:ejecutar(mostrar(1)))
b1.grid(row = 1, column = 1)

b2= Button(v0,text='Abrir ventana con cuadrado',command=lambda:ejecutar(mostrar(2)))
b2.grid(row = 1, column = 2)

b3= Button(v0,text='Abrir ventana con circulo',command=lambda:ejecutar(mostrar(3)))
b3.grid(row = 1, column = 3)



v0.mainloop()

Libreria de Pygame y cambio de color de fondo.



# -*- coding: utf-8 -*-

import pygame
from pygame import K_ESCAPE

pygame.init()
#creacion de ventana
window = pygame.display.set_mode( (500, 400) ) #tamaño de la ventana
pygame.display.set_caption("Figuras y fondo, de colores") #sirve paraq poner titulo en la ventana que emerge
#color = (0,128,128) #definimos el color
window.fill(color= (0,128,128)) #la ventana agrara el valor del color

#figuras
pygame.draw.rect(window, (251, 0, 204), (100, 100, 100, 50), 2)
pygame.draw.ellipse(window, (251, 0, 204), (100, 100, 100, 50))

pygame.draw.rect(window, (56, 199, 0), (100, 150, 80, 40), 2)
pygame.draw.ellipse(window, (56, 199, 0), (100, 150, 80, 40))

pygame.draw.rect(window, (0, 154, 199), (100, 190, 60, 30), 2)
pygame.draw.ellipse(window, (0, 154, 199), (100, 190, 60, 30))

#Círculo
pygame.draw.ellipse(window, (255, 240, 0), (100, 250, 40, 40))



pygame.display.update()

#para poder terminar el evento o programa
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()

    keyboard = pygame.key.get_pressed()
    if keyboard[K_ESCAPE]:
        exit()

Programa de juego.

# -*- 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)

Resultados del juego:

Ejercicio de 3 menus.

Menu números

#Variable Global
global array
array = []

#Metodos
def IngresarDatos():
    num =int(input("Ingresa cuantos campos desea para el arreglo: "))
    print "Ingresa los ",num, " numeros para un arreglo: "
    i=0
    while i < num :
        numero = input()
        array.append(numero)
        i+=1
    print

def DesplegarArreglo():
    print array[:]

def OrdenarArregloALaInversaYDesplegar():
    array.reverse()
    print array
    print

def OrdenarArregloAscendente():
    array.sort()
    print array

def BorrarArreglo():
    del array[:]





#Main
opc = 0

while opc !=6:
    print "--Menu de arreglo--"
    print "1. Ingresar numero y guardar en arreglo'"
    print "2. Desplegar arreglo"
    print "3. Ordenar arreglo a la inversa y desplegar"
    print "4. Ordenar arreglo ascendente"
    print "5. Borrar arreglo"
    print "6. Terminar"

    opc = input("\nIngrese su opcion: ")
    print"\n"

    if(opc==1):
        IngresarDatos()

    elif (opc == 2):
        DesplegarArreglo()

    elif (opc == 3):
        OrdenarArregloALaInversaYDesplegar()

    elif (opc == 4):
        OrdenarArregloAscendente()


    elif (opc == 5):
        BorrarArreglo()


    else:
        print 'Adios'




Menu nombres

#Variable Global
global array
array = []

#Metodos
def IngresarDatos():
    nom =int(input("Ingresa cuantos campos desea para el arreglo: "))
    print "Ingresa los ",nom, " nombres para un arreglo: "
    i=0
    while i < nom :
        nombres = raw_input("dame el nombre")
        array.append(nombres)
        i+=1
    print

def DesplegarArreglo():
    print array[:]

def OrdenarArregloALaInversaYDesplegar():
    array.reverse()
    print array
    print

def OrdenarArregloAscendente():
    array.sort()
    print array

def BorrarArreglo():
    del array[:]





#Main
opc = 0

while opc !=6:
    print "--Menu de arreglo--"
    print "1. Ingresar nombre y guardar en arreglo'"
    print "2. Desplegar arreglo"
    print "3. Ordenar arreglo a la inversa y desplegar"
    print "4. Ordenar arreglo ascendente"
    print "5. Borrar arreglo"
    print "6. Terminar"

    opc = input("\nIngrese su opcion: ")
    print"\n"

    if(opc==1):
        IngresarDatos()

    elif (opc == 2):
        DesplegarArreglo()

    elif (opc == 3):
        OrdenarArregloALaInversaYDesplegar()

    elif (opc == 4):
        OrdenarArregloAscendente()


    elif (opc == 5):
        BorrarArreglo()

    else:
        print 'Adios'




Menu dias

#Variable global
global array
array=['Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo']

def MostrarNormal():
        print array[:]

def OrdenarInversa():
    array.reverse()
    print array

def OrdenarAscendente():
    array.sort()
    print array

def Borrar():
   del array[:]

#main
opc=0
while opc!=5:
    print '\n Programa con arreglo'
    print '\n Elija una de las siguientes opciones: '
    print 'Menu'

    print '1.- Metodo para desplegar arreglo de numeros normal'
    print '2.- Ordenar arreglo a la inversa y desplegar'
    print '3.- Ordenar arreglo de numeros descendente'
    print '4.- Borrar arreglos'
    print '5.- Salir'

    opc = input('Ingrese la opcion: ')
    if opc==1:
        MostrarNormal()

    elif opc==2:
            OrdenarInversa()

    elif opc==3:
        OrdenarAscendente()

    elif opc==4:
            Borrar()

Menu Explicacion.

Codigo para crear un menu:


#variable global
global array
array = []


#metodos
def IngresarArray():
    print 'Ingrese 5 nombres: '
    i=0
    while i<5:
        nombre= raw_input ('Ingrese el nombre: ')
        array.append(nombre)
        i+=1
    print array

#main
opc=0
while opc!=2:
    print 'Programa con arreglo'
    print 'Menu'
    print '1.- Metodo para ingresar datos y Desplegarlos'
    print '2.- Salir'
    opc = input('Ingrese la opcion: ')
    if opc==1:
        IngresarArray()

Resultado del codigo:

Ejemplos realizados por compañeros de clase.

EJEMPLOS DE HUGO:


print("Comienzo")
for i in range(3):
    print"Hola ",
print
print("Final")












i = 10
print"El bucle no ha comenzado. Ahora i vale ", i

for i in [0,1,2,3,4]:
    print i, " * ", i, " = ", i ** 2

print"El bucle ha terminado. Ahora i vale ", i








EJEMPLOS BRANDON


from __future__ import print_function
print("Comienzo")
for i in range(3) :
    print("Hola ",end="")
print()
print("Final")











# future-fstrings
# -*-coding: future_fstrings 3-*-

print("Comienzo")

for numero in [0,1,2,3]:
    print (f"{numero} * {numero}  =  {numero** 2}")

print("final")








EJEMPLO MOLINA


nombre="Luis"
for conteo in range(len(nombre)):
    print conteo
    print nombre[conteo]





Practicas del 17 de septiembre

def aumenta4(inicio, fin):
    i = inicio
    for i in range(inicio, fin+1, 4):
        print i

inicio = int(input("Ingresa el numero inicial: "))
fin = int(input("Ingresa el numero final: "))
aumenta4(inicio,fin)








def aumenta4(inicio, fin,incremento):
    for i in range(inicio, fin, incremento):
        print i
        if i + incremento == fin:
            print fin

inicio = int(input("Ingresa el numero inicial: "))
fin = int(input("Ingresa el numero final: "))
incremento = int(input("Ingrese la cantidad que se incrementara: "))
aumenta4(inicio,fin,incremento)






def aumenta4(inicio, fin):
    while inicio <= fin:
        print inicio
        inicio = inicio + 4

inicio = int(input("Ingresa el numero inicial: "))
fin = int(input("Ingresa el numero final: "))
aumenta4(inicio,fin)






def sacarparimpar(numeroin, numerofin):
    while numeroin <= numerofin:
        residuo = numeroin % 2
        if residuo != 0:
            print "Este numero es IMPAR: .........", numeroin
        else:
            print "Este numero es PAR: .........", numeroin
        numeroin = numeroin+1


numeroin = int(input('Dame el numero inicial: '))
numerofin = int(input('Dame el numero final: '))
sacarparimpar(numeroin, numerofin)