class Cronometro: def __init__(self): self.h = Hora() self.m = Minuto() self.s = Segundo() self.parado = True; def avanzar(self): self.s.avanzar() if(self.s.getValor()==0): self.m.avanzar() if(self.m.getValor()==0): self.h.avanzar() def getTiempo(self): return "{:02d}:{:02d}:{:02d}".format(self.h.getValor(), self.m.getValor(), self.s.getValor()) # str(self.h.getValor())+":"+str(self.m.getValor())+":"+str(self.s.getValor()) def cambiarEstado(self): self.parado = not self.parado def borrar(self): self.h.borrar() self.m.borrar() self.s.borrar()
def __init__(self): self.h = Hora() self.m = Minuto() self.s = Segundo() self.parado = True #OJO SELF.PARADO self.avanzando = True
class TarjetaPrepago(): def __init__(self, telefonoNum="", dni="", saldo=0, consumoHoras=0, consumoMinutos=0, consumoSegundos=0): self.numeroTelefono = telefonoNum self.nif = Dni(dni) self.saldo = saldo self.consumoHoras = Hora(consumoHoras, consumoMinutos, consumoSegundos) self.precioMensajes = 0.09 def setNumeroTelefono(self, telefonoNum): self.numeroTelefono = telefonoNum def getNumeroTelefono(self): return self.numeroTelefono def setSaldo(self, saldo): self.saldo = saldo def getSaldo(self): return self.saldo def ingresarSaldo(self, ingreso): self.setSaldo(self.getSaldo() + ingreso) def enviarMensaje(self, mensajesEnviar): self.setSaldo(self.getSaldo() - (mensajesEnviar * self.precioMensajes)) def realizarLlamada(self, segundosHablados): self.setSaldo(self.getSaldo() - (segundosHablados/100 + 0.15)) segundosTotales = self.consumoHoras.getHoraASegundos() + segundosHablados self.consumoHoras.setHoraSegundos(segundosTotales)
class Cronometro: def __init__(self): self.h = Hora() self.m = Minuto() self.s = Segundo() def avanzar(self): self.s.avanzar() if (self.s.getValor() == 0): self.m.avanzar() if (self.m.getValor() == 0): self.h.avanzar() def getTiempo(self): return str(self.h.getValor()) + ":" + str( self.m.getValor()) + ":" + str(self.s.getValor())
class Cronometro: def __init__(self): self.h = Hora() self.m = Minuto() self.s = Segundo() def avanzar(self): self.s.avanzar() if (self.s.getValor() == 0): self.m.avanzar() if (self.m.getValor() == 0): self.h.avanzar() def getTiempo(self): return "{02d}:{02d}:{02d}".format(self.h.getValor(), self.m.getValor(), self.s.getValor())
class Cronometro(): def __init__(self): self.h=Hora() self.m=Minuto() self.s=Segundo() self.d=Decima() def avanzar (self): self.d.avanzar () if self.d.getValor()==0: self.s.avanzar () if self.s.getValor()==0: self.m.avanzar() if self.m.getValor()==0: self.h.avanzar() def retroceder (self): self.d.retroceder() if self.d.getValor()==self.d.getTope(): self.s.retroceder() if self.s.getValor()==self.s.getTope(): self.m.retroceder() if self.m.getValor()==self.m.getTope(): self.h.retroceder() def getTiempo(self): return "{:02d}".format(self.h.getValor())+":"+"{:02d}".format(self.m.getValor())+":"+"{:02d}".format(self.s.getValor())+":"+"{:02d}".format(self.d.getValor()) def setTiempo (self,v): listax=v.split(":") self.h.setValor(int(listax[0])) self.m.setValor(int(listax[1])) self.s.setValor(int(listax[2])) self.d.setValor(int(listax[3]))
class Cronometro (): def __init__(self): self.h=Hora() self.m=Minuto() self.s=Segundo() self.d=Decima() def avanzar(self): self.d.avanzar() if self.d.getValor()==0: self.s.avanzar() if self.s.getValor()==0: self.m.avanzar() if self.m.getValor()==0: self.h.avanzar() def retroceder(self): self.d.retroceder() if self.d.getValor()== self.d.getTope(): self.s.retroceder() if self.s.getValor()==self.s.getTope(): self.m.retroceder() if self.m.getValor()==self.m.getTope(): self.h.retroceder() def setTiempo(self, a): lista = a.split(":") self.h.setValor(int(lista[0])) self.m.setValor(int(lista[1])) self.s.setValor(int(lista[2])) self.d.setValor(int(lista[3])) def getTiempo(self): return str(self.h.getValor()).zfill(2)+":"+str(self.m.getValor()).zfill(2)+":"+str(self.s.getValor()).zfill(2)+":"+str(self.d.getValor()).zfill(2)
class Cronometro: def __init__(self): self.h = Hora() self.m = Minuto() self.s = Segundo() self.parado = True #OJO SELF.PARADO self.avanzando = True def avanzar(self): self.s.avanzar() if (self.s.getValor() == 0): self.m.avanzar() if (self.m.getValor() == 0): self.h.avanzar() def getTiempo(self): return "{:02d}:{:02d}:{:02d}".format(self.h.getValor(), self.m.getValor(), self.s.getValor()) # str(self.h.getValor())+":"+str(self.m.getValor())+":"+str(self.s.getValor()) def cambiarEstado(self): self.parado = not self.parado def adelanteAtras(self): self.avanzando = not self.avanzando def retroceder(self): self.s.retroceder() if self.s.getValor() == self.s.getTope(): self.m.retroceder() if self.m.getValor() == self.m.getTope(): self.h.retroceder() def borrar(self): self.h.borrar() self.m.borrar() self.s.borrar()
class Cronometro(): def __init__(self): self.h = Hora() self.m = Minuto() self.s = Segundo() self.d = Decima() def avanzar(self): self.d.avanzar() if self.d.getValor() == 0: self.s.avanzar() if self.s.getValor() == 0: self.m.avanzar() if self.m.getValor() == 0: self.h.avanzar() def getTiempo (self): return "{:02d}".format(self.h.getValor())+":"+"{:02d}".format(self.m.getValor())+":"+"{:02d}".format(self.s.getValor())+":"+"{:02d}".format(self.d.getValor()) def retroceder(self): self.d.retroceder() if self.d.getValor() == self.d.getTope(): self.s.retroceder() if self.s.getValor() == self.s.getTope(): self.m.retroceder() if self.m.getValor() == self.m.getTope(): self.h.retroceder() def setTiempo(self, x): entero = [] Lista = x.split(":") [entero.append(int(y)) for y in Lista] self.h.setValor(entero[0]) self.m.setValor(entero[1]) self.s.setValor(entero[2]) self.d.setValor(entero[3])
def __init__(self): self.h = Hora() self.m = Minuto() self.s = Segundo() self.parado = True;
def __init__(self, numeroTelefono = "NoAsignado", dni = "NoAsignado", saldo = 0): self.numeroTelefono = numeroTelefono self.NIF = Dni(dni) self.saldo = saldo self.consumo = Hora()
class TarjetaPrepago: ## Constructor del ADT TarjetaPrepago def __init__(self, numeroTelefono = "NoAsignado", dni = "NoAsignado", saldo = 0): self.numeroTelefono = numeroTelefono self.NIF = Dni(dni) self.saldo = saldo self.consumo = Hora() ## Setters y Getters de ADT TarjetaPrepago def setNumeroTelefono(self, numeroTelefono): self.numeroTelefono = numeroTelefono def setNIF(self, dni): self.NIF.setDni(dni) def setSaldo(self, Saldo): self.Saldo = Saldo def setConsumo(self, consumo, horas, minutos, segundos): self.consumo.setHoras(horas) self.consumo.setMinutos(minutos) self.consumo.setSegundos(segundos) def getNumeroTelefono(self): return self.numeroTelefono def getNIF(self): return self.NIF.getDni() def getSaldo(self): return self.saldo def getConsumo(self): return self.consumo.getHora() # Subrutina: ingresarSaldo # Descripción: Ingresa un saldo en la instancia de TarjetaPrepago # Entrada: 1 int con el saldo a ingresar # Salidas: Ninguna def ingresarSaldo(self, saldoAIngresar): try: if saldoAIngresar < 0: raise ValorNegativo("El saldo a añadir es negativo: ", saldoAIngresar) else: self.saldo = self.saldo + saldoAIngresar except ValorNegativo as error: print(error.mensaje + str(error.valor)) except TypeError: print("El valor no es númerico") # Subrutina: enviarMensaje # Descripción: Resta un saldo segun los mensajesEnviados en la instancia de TarjetaPrepago # Entrada: 1 int con el numero de mensajes para calcular el saldo a restar # Salidas: Ninguna def enviarMensaje(self, numeroMensajes): try: if numeroMensajes < 0: raise ValorNegativo("El numero de Mensajes a enviar es negativo: ", numeroMensajes) else: saldoARestar = numeroMensajes * 9 self.saldo = self.saldo - saldoARestar except ValorNegativo as error: print(error.mensaje + str(error.valor)) except TypeError: print("El valor no es númerico") # Subrutina: realizarLlamada # Descripción: Resta un saldo segun los mensajesEnviados y actualiza el consumo # en la instancia de TarjetaPrepago # Entrada: 1 int con el numero de mensajes para calcular el saldo a restar # Salidas: Ninguna def realizarLlamada(self, numeroSegundos): try: if numeroSegundos < 0: raise ValorNegativo("El numero de segundos consumidos es negativo: ", numeroSegundos) else: saldoARestar = numeroSegundos + 15 self.saldo = self.saldo - saldoARestar horas, minutos, segundos = self.__calcularConsumo(numeroSegundos) self.setConsumo(self.consumo, horas, minutos, segundos) except ValorNegativo as error: print(error.mensaje + str(error.valor)) except TypeError: print("El valor no es númerico") # Subrutina: consultarTarjeta # Descripción: Imprime los atributos de la instancia TarjetaPrepago por pantalla # Entrada: Ninguna # Salidas: Ninguna def consultarTarjeta(self): print ("NumeroTeléfono: %s" % self.numeroTelefono) print ("Saldo: %d" % self.saldo) print ("NIF: %s" % self.getNIF()) print ("Consumo: %s" % self.consumo.getHora()) # Subrutina: __calcularConsumo # Descripción: Calcula el consumo en horas, minutos y segundos. # Entrada: 1 int con los segundos consumidos. # Salidas: 3 int con las horas, minutos y segundos consumidos. def __calcularConsumo(self, numeroSegundos): if numeroSegundos > 59: numeroMinutos = numeroSegundos//60 numeroSegundos = numeroSegundos%60 if numeroMinutos > 59: numeroHoras = numeroMinutos//60 numeroMinutos = numeroMinutos%60 return numeroHoras, numeroMinutos, numeroSegundos else: return 0, numeroMinutos, numeroSegundos else: return 0, 0, numeroSegundos
def __init__(self): self.h = Hora() self.m = Minuto() self.s = Segundo() self.d = Decimas()
def crearHoras(self, franja): if franja == "Mañana": self.horas.append(Hora(time(7, 30))) self.horas.append(Hora(time(8))) self.horas.append(Hora(time(8, 30))) self.horas.append(Hora(time(9))) self.horas.append(Hora(time(9, 30))) self.horas.append(Hora(time(10))) self.horas.append(Hora(time(10, 30))) self.horas.append(Hora(time(11))) self.horas.append(Hora(time(11, 30))) self.horas.append(Hora(time(12))) elif franja == "Tarde": self.horas.append(Hora(time(12, 30))) self.horas.append(Hora(time(13))) self.horas.append(Hora(time(13, 30))) self.horas.append(Hora(time(14))) self.horas.append(Hora(time(14, 30))) self.horas.append(Hora(time(15))) self.horas.append(Hora(time(15, 30))) self.horas.append(Hora(time(16))) self.horas.append(Hora(time(16, 30))) self.horas.append(Hora(time(17))) self.horas.append(Hora(time(17, 30))) else: self.horas.append(Hora(time(18))) self.horas.append(Hora(time(18, 30))) self.horas.append(Hora(time(19))) self.horas.append(Hora(time(19, 30))) self.horas.append(Hora(time(20))) self.horas.append(Hora(time(20, 30))) self.horas.append(Hora(time(21))) self.horas.append(Hora(time(21, 30))) self.horas.append(Hora(time(22))) self.horas.append(Hora(time(22, 30)))
def __init__(self, telefonoNum="", dni="", saldo=0, consumoHoras=0, consumoMinutos=0, consumoSegundos=0): self.numeroTelefono = telefonoNum self.nif = Dni(dni) self.saldo = saldo self.consumoHoras = Hora(consumoHoras, consumoMinutos, consumoSegundos) self.precioMensajes = 0.09