Código Python:
Ver original
# -*- coding: utf-8 -*- import tkinter import tkinter.simpledialog from Bombilla import Bombilla """ Código de: https://tutobasico.com/basicos3-java/ 1. Crea una clase Bombilla y un programa que cree objetos Bombilla y utilice todas las propiedades y métodos. Propiedades - estado: si está apagada o encendida (boolean). Por defecto false - potencia: en vatios (int) - color: color de la bombilla (String) - horas: horas que puede estar encendida (float). Por defecto 10 Métodos - encender: si quedan horas enciende la bombilla, pone la propiedad estado = true y pide por teclado cuánto tiempo estará encendida. Resta el tiempo de la propiedad horas. - apagar: pone la propiedad estado = false - getEstado: devuelve el estado de la bombilla - setPotencia: se le pasa una potencia por parámetro y la sustituye por lo que hay en la propiedad potencia - getPotencia: devuelve la potencia de la bombilla - setColor: se le pasa el color por parámetro y si la bombilla está encendida la apaga y luego cambia el color. - getColor: imprime por pantalla el color de la bombilla - getHorasr: imprime por pantalla las horas de la bombilla - recargar: pregunta cuántas horas quiere el usuario recargar y las suma a la propiedad horas """ def main(): root = tkinter.Tk() # create main window # root.iconify() # minimize main window root.withdraw() # hide main window opcion = -1 objeto = Bombilla() while opcion != 0: opcion = tkinter.simpledialog.askinteger( "Sistema solicita", "* Ingrese opción:" + "\n1.ENCENDER" + "\n2.APAGAR " + "\n3.VER ESTADO" + "\n4.CAMBIAR POTENCIA" + "\n5.VER POTENCIA" + "\n6.CAMBIA COLOR" + "\n7.VER COLOR" + "\n8.RECARGAR" + "\n9.VER HORAS" + "\n0.SALIR", ) if opcion == 1: tiempo = tkinter.simpledialog.askfloat("Sistema solicita", "Cuantas horas va a estar encendida la bombilla?\n") tkinter.messagebox.showinfo("Sistema notifica", objeto.encender(tiempo)) break elif opcion == 2: objeto.apagar() break elif opcion == 3: if objeto.isEstado(): tkinter.messagebox.showinfo("Sistema notifica", "La bombilla esta encendida\n") else: tkinter.messagebox.showinfo("Sistema notifica", "La bombilla esta apagada\n") break elif opcion == 4: pot = tkinter.simpledialog.askfloat("Sistema solicita", "Introduce nueva potencia \n") objeto.setPotencia(pot) break elif opcion == 5: tkinter.messagebox.showinfo("Sistema notifica", "La potencia es \n" + objeto.getPotencia()) break elif opcion == 6: color = tkinter.simpledialog.askstring("Sistema solicita", "Introduce nuevo color\n") objeto.setColor(color) break elif opcion == 7: tkinter.messagebox.showinfo("Sistema notifica", "El color es \n" + objeto.getColor()) break elif opcion == 8: recarga = tkinter.simpledialog.askfloat("Sistema solicita", "¿Cuantas horas quiere recargar? \n") objeto.recargar(recarga) break elif opcion == 9: tkinter.messagebox.showinfo("Sistema notifica", "Las horas son \n" + str(objeto.getHoras())) break elif opcion == 0: tkinter.messagebox.showinfo("Sistema notifica", "Adios") break else: tkinter.messagebox.showerror("Sistema notifica", "Error. Introduce un valor del menu") break if __name__ == "__main__": main()
Me llama la atención que no vuelve al menú después de ingresar la opción.
Espero su respuesta y saludos.