Universidad Tecnológica Nacional Paradigmas de
Facultad Regional San Rafael Programación
Ingenierı́a en Sistemas Práctico 5
Práctico 5 - Interfaces gráficas en Python (TKinter, OOP)
Introducción a Tkinter
1. Crea una ventana con Tkinter que muestre una etiqueta (Label) con el texto “¡Hola,
mundo!” al presionar un botón.
2. Crea una interfaz con una etiqueta, una entrada de texto (Entry) y un botón. Al presionar
el botón, debe mostrar en una nueva etiqueta el texto: “Hola, [nombre ingresado]”.
3. Crea una ventana con un número (iniciado en 0) y dos botones: uno para sumar y otro
para restar. El número debe actualizarse dinámicamente al hacer clic.
4. Crea una interfaz con tres botones: “Rojo”, “Verde” y “Azul”. Al hacer clic en uno, debe
cambiar el color de fondo de la ventana al color correspondiente.
5. Diseña una interfaz que permita ingresar dos números y, al presionar un botón, muestre
la suma de ambos en pantalla.
6. Crea una interfaz que permita ingresar una temperatura en grados Celsius y, al presionar
un botón, muestre el valor convertido a Fahrenheit.
Material elaborado por 1 Lic. Carina Povarchik
Lic. Ariel Villar
Universidad Tecnológica Nacional Paradigmas de
Facultad Regional San Rafael Programación
Ingenierı́a en Sistemas Práctico 5
7. Crea una pequeña app con una entrada de texto y un botón “Agregar”. Cada vez que se
presiona el botón, agrega el texto a una lista visual (Listbox) debajo.
8. Diseña un formulario con campos: Nombre, Apellido, Email y Contraseña. Al hacer clic
en “Enviar”, muestra un mensaje de confirmación con los datos ingresados.
9. Adivina el Número
Hacer un programa donde el usuario debe adivinar el numero que se generó aleatoriamen-
te. El programa deberá darle pistas al usuario si el numero ingresado es alto o bajo o si
acertó.
10. Mini calculadora
Crea una interfaz de calculadora con botones del 0 al 9, operaciones básicas y un botón
“=”. Al presionarlo, se debe evaluar la expresión y mostrar el resultado.
11. Mini Paint
Crea una ventana que permita al usuario dibujar lı́neas libres con el mouse sobre un
Canvas. El usuario debe poder elegir el color de la lı́nea desde botones o un menú des-
plegable. (Requerirá cierta investigación por parte suya sobre el objecto Canvas)
12. Calculadora de IMC (Índice de Masa Corporal)
Diseña una interfaz que permita ingresar peso y altura del usuario, y al presionar un
botón calcule e indique el ı́ndice de masa corporal, mostrando además una etiqueta que
clasifique el resultado (bajo peso, normal, sobrepeso, obesidad).
13. Mini Bloc
Crea una aplicación que permita al usuario escribir texto en una zona editable y guardarlo
en un archivo ‘.txt‘. También debe incluir un botón para abrir y cargar un archivo de
texto existente.
14. Formulario con validación de datos
Diseña un formulario de registro con campos obligatorios (nombre, edad, email, contra-
seña). Agrega validaciones: que la edad sea numérica, el email tenga formato válido, y la
contraseña tenga al menos 6 caracteres. Mostrar mensajes de error si hay datos incorrec-
tos.
15. Lista de tareas
Crea una interfaz donde el usuario pueda agregar tareas (como en un TODO list), y cada
tarea aparezca con una casilla de verificación. Permitir marcar tareas como completadas,
y opcionalmente, eliminarlas de la lista.
Material elaborado por 2 Lic. Carina Povarchik
Lic. Ariel Villar
Universidad Tecnológica Nacional Paradigmas de
Facultad Regional San Rafael Programación
Ingenierı́a en Sistemas Práctico 5
16. Busca Letras
Realizar un programa que simule al juego buscaminas, pero debe buscar la coincidencia
de dos letras iguales. El usuario deberá ir haciendo clic en los diferentes botones y el
programa mostrará la letra que tiene oculta solo por un segundo y después desaparecerá.
Cuando existan dos coincidencias de dos letras iguales el programa mostrará los botones
con las letras encontradas en forma permanente. Un ejemplo del programa funcionando
puede ser este:
17. Liquidación de Sueldos
Hacer un programa que simule una liquidación de sueldos para los empleados de una
fábrica. La aplicación deberá permitir ingresar datos relevantes para calcular el sueldo
bruto, los descuentos correspondientes y el sueldo neto final. La moneda a utilizar será
en pesos argentinos (ARS).
Requerimientos del Programa:
Ventana Principal: La aplicación debe mostrar una ventana principal con los siguien-
tes campos y opciones:
Antigüedad en la Empresa (en años): Un campo para ingresar la cantidad de
años que el empleado ha trabajado en la fábrica.
Categorı́a del Empleado: Un menú desplegable (Combobox) que permita selec-
cionar la categorı́a del empleado. Las categorı́as disponibles serán .A”, ”B Ç”.
2
Cada categorı́a tendrá un valor base predefinido:
◦ Categorı́a A: ARS 5000
◦ Categorı́a B: ARS 7000
◦ Categorı́a C: ARS 9000
Cantidad de Horas Trabajadas: Un campo para ingresar la cantidad de horas
normales trabajadas por el empleado durante el mes.
Valor por Hora Trabajada: Un campo para ingresar el valor en pesos argentinos
(ARS) de cada hora trabajada.
Cantidad de Horas Extras: Un campo para ingresar la cantidad de horas extras
trabajadas durante el mes.
Valor por Hora Extra Trabajada: Un campo para ingresar el valor en pesos
argentinos (ARS) de cada hora extra trabajada.
Otros Beneficios: Un campo para ingresar cualquier otro monto adicional que el
empleado reciba, como bonos, incentivos, etc.
Material elaborado por 3 Lic. Carina Povarchik
Lic. Ariel Villar
Universidad Tecnológica Nacional Paradigmas de
Facultad Regional San Rafael Programación
Ingenierı́a en Sistemas Práctico 5
Cálculos Automáticos:
Sueldo Base: Debe calcularse como el valor base según la categorı́a, más un extra
de ARS 200 por cada año de antigüedad.
Sueldo Normal: Se calcula multiplicando las horas trabajadas por el valor de
cada hora.
Sueldo Extra: Se calcula multiplicando las horas extras por el valor de cada hora
extra.
Sueldo Bruto: Es la suma del sueldo base, sueldo normal, sueldo extra, y otros
beneficios.
Descuentos:
Aportes Jubilatorios: Se descuenta un 11 % del sueldo bruto.
Obra Social: Se descuenta un 3 % del sueldo bruto.
Aporte al Sindicato: Se descuenta un 2 % del sueldo bruto.
Sueldo Neto: Se obtiene restando los descuentos totales del sueldo bruto.
Botón de Calcular: Un botón que permita realizar todos los cálculos mencionados y
mostrar el resultado final en la misma ventana.
Mostrar Resultados: Los resultados deberán mostrarse en la parte inferior de la
ventana e incluir:
Sueldo Bruto
Descuentos detallados (Aporte Jubilatorio, Obra Social, Aporte Sindical)
Descuentos Totales
Sueldo Neto
Material elaborado por 4 Lic. Carina Povarchik
Lic. Ariel Villar
Universidad Tecnológica Nacional Paradigmas de
Facultad Regional San Rafael Programación
Ingenierı́a en Sistemas Práctico 5
Introducción a Pygame
18. Hacer un programa en Pygame que muestre una ventana principal de juego con un fondo
de color verde. La ventana debe tener un tamaño de 800x600 pı́xeles.
19. Crear una ventana de 1200 x 800, con un tı́tulo inventado. Descargar alguna imagen
de la web o utilizar alguna imagen pequeña que tenga usted, y cargarla. Asegurarse de
utilizar una imagen del tipo PNG con fondo transparente. Cambiar el color de fondo de
la ventana.
20. Dibujar un cuadrado de color azul en la pantalla. Moverlo de continuo de lado a lado,
de modo horizontal, luego adaptar el código para que al llegar a cualquiera de los dos
bordes laterales de la ventana, se vea como si rebotase, y continue su movimiento lineal
horizontal en la otra dirección.
21. Crear un mini personaje, descargar alguna imagen en formato .png con fondo transparente
que sea útil a este ejercicio, y crear un programa que permita moverlo en todas direcciones
con las teclas de las flechas del teclado, sin salir de los bordes de la ventana.
22. Catching Stars
Crea un juego donde un jugador controla un personaje en la parte inferior de la pantalla.
Desde arriba caen estrellas (u otros objetos). Cada vez que el jugador las atrapa, suma
un punto. Usa detección de colisiones para verificar si se atrapan.
23. Evita los enemigos
Crea una interfaz donde el jugador deba esquivar objetos que caen desde la parte superior.
Si el jugador toca uno, se termina el juego. Aumenta la velocidad con el tiempo para subir
la dificultad.
24. Animación por sprites
Utiliza una hoja de sprites (spritesheet) para animar un personaje caminando hacia la
izquierda o derecha. Usa las teclas del teclado para controlar el movimiento y actualizar
los fotogramas correspondientes según la dirección. (Requerirá investigar el tema de los
Sprites, revisar los videos y links curados por la cátedra)
Material elaborado por 5 Lic. Carina Povarchik
Lic. Ariel Villar