Guest User

Untitled

a guest
Jun 18th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. class Fecha:
  2. def __init__(self,dia,mes,anio):
  3.  
  4. self.dia = dia
  5. self.mes = mes
  6. self.anio = anio
  7.  
  8. if not isinstance(dia,int) or not isinstance(mes,int) or not isinstance(anio,int):
  9. raise ValueError('Tienes que introducir un numero')
  10.  
  11. if self.dia <=0 or self.dia >=32:
  12. raise ValueError('No puede haber un dia menor que 0 o mayor que 31')
  13. if self.mes >12 or self.mes <=0:
  14. raise ValueError('No puede haber meses mayor que 31 o un mes menor que 0')
  15. if self.anio > 2999 or self.anio < 1923:
  16. raise ValueError('Limite de fechas alcanzado')
  17. if self.mes == 2 and self.dia >29:
  18. raise ValueError('No puedes hacer una fecha mayor que 29 en febrero')
  19. if self.mes == 4 and self.dia>30 \
  20. or self.mes == 6 and self.dia>30 or\
  21. self.mes == 9 and self.dia>30\
  22. or self.mes == 11 and self.dia >30:
  23. raise ValueError('Fecha invalida')
  24.  
  25. def esBisiesto(self):
  26. if self.anio % 4 == 0:
  27. return True
  28. else:
  29. return False
  30.  
  31. def diaSiguiente(self):
  32. if self.mes == 1 or self.mes == 3 or self.mes == 5 or self.mes == 7 or \
  33. self.mes == 8 or self.mes == 10 or self.mes == 12:
  34. if self.dia ==31:
  35. if self.mes == 12:
  36. if self.anio == 2999:
  37. print('No se puede sumar el dia, ya que esta en el año limite')
  38. else:
  39. print(1,1,self.anio+1)
  40. else:
  41. print(1,self.mes+1,self.anio)
  42. else:
  43. print(self.dia+1,self.mes,self.anio)
  44.  
  45.  
  46. elif self.mes == 4 or self.mes == 6 or self.mes == 9 or self.mes == 11:
  47. if self.dia == 30:
  48. print(1,self.mes+1,self.anio)
  49. else:
  50. print(self.dia+1,self.mes,self.anio)
  51.  
  52. elif self.mes == 2:
  53. if self.esBisiesto():
  54. if self.dia ==29:
  55. print(1,self.mes+1,self.anio)
  56. else:
  57. print(self.dia+1,self.mes,self.anio)
  58.  
  59. elif not self.esBisiesto():
  60. if self.dia == 28:
  61. print(1,self.mes+1,self.anio)
  62. else:
  63. print(self.dia+1,self.mes,self.anio)
  64.  
  65.  
  66. f = Fecha(31,12,1996)
  67.  
  68. print(f.diaSiguiente())
Add Comment
Please, Sign In to add comment