Advertisement
trds

29decembrie2020

Jan 6th, 2021
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.09 KB | None | 0 0
  1. class Data(object):
  2.     def __init__(self,z,l,a):
  3.         self.zi = z
  4.         self.luna = l
  5.         self.an = a
  6.         self.ziuaSaptamanii = 'Luni'
  7.     def validare(self,zz,ll,aa):
  8.         if aa < 0:
  9.             return False
  10.         if ll < 1 or ll > 12:
  11.             return False
  12.         if ll in [4,6,9,11] and (zz < 1 or zz > 30):
  13.             return False
  14.         elif ll in [4,6,9,11] and zz >= 1 and zz <=30:
  15.             return True
  16.         if ll in [1,3,5,7,8,10,12] and (zz < 1 or zz > 31):
  17.             return False
  18.         elif ll in [1,3,5,7,8,10,12] and zz >= 1 and zz <= 31:
  19.             return True
  20.         if (aa % 4 == 0 and (aa % 400 == 0 or aa % 100 != 0)) and (zz < 1 or zz > 29):
  21.             return False
  22.         if (aa % 4 != 0 or aa % 100 == 0 and aa % 400 !=0 ) and (zz < 1 or zz > 28):
  23.             return False
  24.         return True
  25.     def __repr__(self):
  26.         lunav = ['', 'Ianuarie', 'Februarie', 'Martie', 'Aprilie','Mai', 'Iunie', 'Iulie', 'August', 'Septembrie', 'Octombrie', 'Noiembrie', 'Decembrie']
  27.         s = '{}-{}-{}'.format(self.zi,lunav[self.luna],self.an)
  28.         return s
  29.     def __lt__(self,other):
  30.         if self.an < other.an:
  31.             return True
  32.         elif self.an > other.an:
  33.             return False
  34.         #anii sunt egali
  35.         elif self.luna < other.luna:
  36.             return True
  37.         elif self.luna > other.luna:
  38.             return False
  39.         elif self.zi < other.zi:
  40.             return True
  41.         else:
  42.             return False
  43.     def __eq__(self, other):
  44.         if self.an == other.an and self.luna == other.luna and self.zi == other.zi:
  45.             return True
  46.         else:
  47.             return False
  48.  
  49. data = Data(29,12,2020)
  50. print(data)
  51. d1 = Data(29,12,2020)
  52. d2 = Data(29,2,2020)
  53. d3 = Data(29,2,2000)
  54. d4 = Data(29,2,1900)
  55. d5 = Data(30,1,2019)
  56. d6 = Data(30,1,2019)
  57. d7 = Data(30,3,2019)
  58. d8 = Data(31,3,2019)
  59. d9 = Data(30,4,2019)
  60. d10 = Data(31,4,2019)
  61. d11 = Data(30,5,2019)
  62. d12 = Data(31,5,2019)
  63. d13 = Data(30,6,2019)
  64. d14 = Data(31,6,2019)
  65. d15 = Data(30,7,2019)
  66. d16 = Data(31,7,2019)
  67. d17 = Data(30,8,2019)
  68. d18 = Data(31,8,2019)
  69. d19 = Data(30,9,2019)
  70. d20 = Data(31,9,2019)
  71. d21 = Data(30,10,2019)
  72. d22 = Data(31,10,2019)
  73. d23 = Data(30,11,2019)
  74. d24 = Data(31,11,2019)
  75. d25 = Data(30,12,2019)
  76. d26 = Data(31,12,2019)
  77. print(data.validare(29,12,2020))
  78. print(d1.validare(29,12,2020),d2.validare(29,2,2020),d3.validare(29,2,2000),d4.validare(29,2,1900),d5.validare(30,1,2019),d6.validare(31,1,2019),d7.validare(30,3,2019),d8.validare(31,3,2019),d9.validare(30,4,2019),d10.validare(31,4,2019),d11.validare(30,5,2019),d12.validare(31,5,2019),d13.validare(30,6,2019),d14.validare(31,6,2019),d15.validare(30,7,2019),d16.validare(31,7,2019),d17.validare(30,8,2019),d18.validare(31,8,2019),d19.validare(30,9,2019),d20.validare(31,9,2019),d21.validare(30,10,2019),d22.validare(31,10,2019),d23.validare(30,11,2019),d24.validare(31,11,2019),d25.validare(30,12,2019),d26.validare(31,12,2019))
  79. lista = [Data(21,2,1989), Data(15,6,1990), Data(25,7,1997)]
  80. d = Data(15,6,1990)
  81. if d in lista:
  82.     print('Gasit')
  83. else:
  84.     print('Negasit')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement