Google+ Seguidores

miércoles, 19 de noviembre de 2014

Ejercicios graficos de programacion Python (Parte 1)

    14

Ejercicios gráficos
Ejercicios Gráficos de Programación
Hoy les traigo algunos ejercicios para practicar y resolverlos de forma gráfica. Ya hace algún tiempo estamos incursionando con las aplicaciones gráficas y que mejor que practicar con algunos ejercicios.

Puedes realizar los ejercicios con la librería que más te guste o prefieras (Tkinter, wxPython, Qt, etc), la idea es compartir el código y especificar con que librería fue realizado dicho código (por un tema de orden y no marearnos con las diferentes librerías).

Quizá estas entradas te puedan ayudar:


1 - Como instalar PyQt 4 en python
2 - Primera aplicación con Qt Designer y python
3 - Aplicaciones gráficas con Tkinter y python
4 - Diálogos y mensajes en Python con Tkinter

Las mejores soluciones serán publicadas en otra entrada referenciando al Autor de la solución.  

Los códigos de las soluciones pueden dejarlo como comentario y servirán de referencia para los que recién comienzan con las aplicaciones gráficas en python. Recuerda que al dejar un comentario con código Python en el Blog, el mismo pierde la identación y puede ser confuso (en ese caso puedes hacer la identación con ---- 4 guiones por identación).

Ejemplo:

def Saludo():
----print "Hola Mundo"

Ejercicios de aplicaciones GUI en Python


Ejercicio 1.1 - Contador Creciente

Ejercicio 1.1
Ejercicio 1.1
Escribir una aplicación GUI (llamada ContCreciente) como la que se ve en la figura. Cada ves que se haga clic en el botón "+", el valor del contador se incrementa en 1.
El programa lleva 3 componentes:
1 - Una Etiqueta "Contador"
2 - Un lineEdit no editable, que muestre el valor del contador
3 - Un Botón "+"

Ejercicio 1.2 - Contador Decreciente

Ejercicio 1.2
Ejercicio 1.2
Escribir una aplicación GUI (llamada ContDecreciente) como la que se ve en la figura. Cada ves que se haga clic en el botón "-", al valor de contador se le resta 1.
El programa lleva 3 componentes:
1 - Una Etiqueta "Contador"
2 - Un lineEdit no editable, que muestre el valor de contador y que inicie con el número 88
3 - Un Botón "-"

Ejercicio 1.3 - Factorial

Ejercicio 1.3
Ejercicio 1.3
Escribir una aplicación GUI (llamada Factorial) como la que se ve en la figura. Cada ves que se haga clic en el botón "Siguiente", debe calcular el factorial del primer lineEdit y mostrarlo en el segundo. Al dar siguiente (n se incrementa en 1) n = 2 con su factorial correspondiente.
Formula de factorial 
Factorial de 5 = 1 x 2 x 3 x 4 x 5 = 120
Factorial de 3 = 1 x 2 x 3 = 6

La aplicación lleva:
1 - Dos etiquetas: una para n y otra para Factorial (n)
2 - Dos lineEdit no editables
3 - Un botón siguiente

Ejercicio 1.4 Contador

Ejercicio 1.4
Ejercicio 1.4
Escribir una aplicación GUI (llamada Contador) como la que se ve en la figura. Con 3 botones (Count Up - Para incrementar, Count Down - Para restar y Reset - Para comenzar de cero).
La aplicación lleva:
1 - Una etiqueta "Contador"
2 - Un lineEdit no editable, que muestre el contador y que inicie en 0
3 - 3 Botones

Ejercicios gráficos un poco más complejos

Ejercicio 2.1 Calculadora

Ejercicio 2.1
Ejercicio 2.1
Escribir una aplicación GUI (llamada Calculadora) que funcione como una simple calculadora.
La aplicación lleva:
1 - Tres etiquetas (Primer número, Segundo número y Resultado)
2 - 3 lineEdit (el lineEdit de Resultado no se puede modificar)
3 - 6 Botones (+, -, *, /, % y RESET). El botón CLEAR debe borrar los 3 lineEdit. Al presionar (+, -, *, / o %) el único campo que se modifica es Resultado.

Ejercicio 2.2 Peliculas

Ejercicio 2.2
Ejercicio 2.2
Escribir una aplicación GUI (llamada Películas). Su función será: al pulsar el botón Añadir, agregará en el listWidget el contenido de lineEdit (Películas).

La aplicación lleva:
1 - 2 Etiquetas (Escribe el título de una película y Películas)
2 - Un lineEdit donde se escribirá el nombre de la película
3 - Un listWidget que registra las películas añadidas
4 - Un botón "Añadir"

Ejercicio 2.3 Generador de números

Ejercicio 2.3
Ejercicio 2.3
Escribir una aplicación GUI (llamada Generador de números). Su función será: al pulsar el botón Generar, generará un número aleatorio en el rango de los dos Spin Box.
La aplicación lleva:
1 - 3 Etiquetas (Número 1, Número 2 y Número Generado)
2 - 2 Spin Box
3 - 1 lineEdit que no pueda ser modificado
4 - 1 Botón "Generar"

Ejercicio 2.4 Calculadora 2

Ejercicio 2.4
Ejercicio 2.4
Escribir una aplicación GUI (llamada Calculadora 2) como la que se ve en la figura y que funcione como una calculadora.
La aplicación lleva:
1 - 4 Etiquetas (Valor 1, Valor 2, Resultado y Operaciones)
2 - 4 radioButton (Sumar, Restar, Multiplicar y Dividir)
3 - 3 lineEdit (el lineEdit Resultado no puede ser modificado)
4 - 1 botón Calcular, que al ser presionado realice la operación correspondiente.

"Desafío para los más valientes..."


Juego Matemático

Juego Matemático
Juego Matemático

Escribir una aplicación GUI (llamada Juego Matemático) como la que se ve en la figura.
La aplicación lleva:
1 - 7 etiquetas (Juegos:, 2, Buenos:, 1, Malos:, 1 y -) las etiquetas que son números arrancan en vacías. La etiqueta - (entre medio de los dos lineEdit) arranca con signo de pregunta (?) y cambia dependiendo el valor del radioButton (Sumar = +, Restar = -, Multiplicar = * y Dividir = /).
2 - 3 lineEdit (Sólo el lineEdit Resultado puede ser modificado)
3 - 2 Botones (Nuevo Numero y Resultado)
Como funciona:
El jugador arranca con los radioButton y los lineEdit vacíos. Cuando el jugador presione Nuevo Juego saldrán 2 numero aleatorios (en los lineEdit de arriba) junto con 1 radioButton. El jugador debe poner un resultado dependiendo de la operación y presionar el botón Resultado. Si el jugador gana, Juego: suma 1 y Buenos: suma 1. El jugador presiona Nuevo Juego, salen dos números aleatorios nuevos y una operación nueva (todo aleatorio). El jugador hace un mal cálculo y pierde (Juegos: suma 1 y queda en 2, Malos: suma 1). Así sigue hasta que se aburra o se convierta en un genio jeje...

Hasta aquí están perdonados, pero...

Un poco más de complejidad ¿Porqué no?

Puedes agregar 3 radioButton más para que el jugador pueda elegir la dificultad. Si elige Fácil (los número aleatorios serán de 0 a 10), si elige Medio (los números aleatorios serán de 0 a 100) y si elige Difícil (los números aleatorios serán de 0 a 1000). Cada ves que elija una dificultad todo vuelve a 0.

Dificultad
Dificultad
Y puedes agregar un contador (LCD Number) que haga una cuenta regresiva de 60 segundos (si el jugador no responde antes del tiempo pierde ese juego). El tiempo en segundos puede ser también dependiendo de la dificultad.

Tiempo
Tiempo
 ---------------------------------------------------------------------------------------------------------------------------

Bueno espero que disfruten esta entrada y cualquier comentarios siempre es bienvenido.

Saludos, Diego.

14 comentarios:
Write comentarios
  1. Hice el ejercicio 1, lo comparto en este link para que lo vean, voy a ir intentando hacer los otros y los voy a ir poniendo ahi.
    Saludos
    https://copy.com/xgXqq1SZkHpy3hy4

    ResponderEliminar
    Respuestas
    1. Excelente José, gracias por compartir...

      Eliminar
    2. Terminado! En el mismo link dejé todos los ejercicios. Cualquiera que tenga una sugerencia para que sea mas simple bienvenido.
      Están todos los ejercicios, menos el último en la versión compleja (después voy a tratar de hacerlo).
      Gracias Diego.
      Abrazo.

      Eliminar
    3. Excelente José, después les doy una revisada. Como te comente, me tengo que poner en campaña y darle una solución a los ejercicios. Saludos

      Eliminar
  2. Hola, hice el ejercicio 2.1, La Calculadora.

    La hice usando PyQt4 (con la herramienta QtDesigner) y Python 2.7, luego investigué más a fondo y me di cuenta que le puedes aplicar estilos a tu calculadora (con código css). Al final resulto una genial calculadora de escritorio. Por acá les dejo el código: https://github.com/CarMoreno/Vibora . Espero sea de ayuda.

    Saludos.

    ResponderEliminar
  3. Hola ya hice casi todos los ejercicios pero no he podido hacer el del juego matemático porque no entiendo la función del juego no lo tengo claro...porque si se hace click a nuevo juego o nuevo número se supone que ya se sabe cuanto es el resultado de la operación y que operación es porque ya lo trae aleatoria mente. ..por favor podrían ser mas específicos para poder hacer está aplicación? Muchas gracias

    ResponderEliminar
  4. Y además tampoco entiendo que hace el botón resultado...soy el mismo que escribió como anónimo disculpen

    ResponderEliminar
    Respuestas
    1. Los dos números de arriba son aleatorios, el del resultado lo coloca el que va a jugar y luego presiona sobre el botón "Resultado" para comprobar si esta correcto. ¿Entiendes? Saludos y gracias por visitar el blog!!!

      Eliminar
    2. La verdad sigo sin entender disculpa, yo entiendo que los números de arriba son aleatorios al igual que el radiobutton y por ende el signo que va en medio de los dos números todo eso es aleatorio...pero entonces que sentido tiene poner un resultado en el lineEdit que se puede editar (Resultado) si ya de antemano se como en el ejemplo que esta en el blog que 10 - 5 va hacer igual a 5 para que voy a comprobar algo que ya es obvio...no se si me entiendes..gracias y disculpa el fastidio pero quisiera estar bien claro como funciona

      Eliminar
    3. La idea es pensar el problema y resolverlo. Se que el ejemlo de 10 - 5 es muy fácil, pero quizá 721 * 13 es más complicado. Si quieres puedes ponerle una cuenta regresiva de 10 segundos para que la persona conteste antes de ese tiempo, de lo contrario pierde. Te parece?
      Saludos

      Eliminar
    4. Ah ok!! entendido ahora si lo tengo claro, gracias por responder Diego

      Eliminar
  5. Felicidades por tu blog....es bueno; me gustaría pertenecer a una comunidad que sea sobre python(soy autodidacta) y no encuentro con quien compartir...Gracias.Un abrazo desde Rep Dom

    ResponderEliminar
  6. Es la gran parte del código
    gracias

    ResponderEliminar
  7. Este comentario ha sido eliminado por el autor.

    ResponderEliminar

Tu comentario es importante y nos motiva a seguir escribiendo...

Entradas más recientes

© 2014 Mi diario Python. Designed by Bloggertheme9 | Distributed By Gooyaabi Templates
Powered by Blogger.