Advertisement
trds

13ianuarie2021

Jan 13th, 2021
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.27 KB | None | 0 0
  1. class Card:
  2.     def __init__(self,n):
  3.         self.nrCard = n
  4.     def __repr__(self):
  5.         return 'Numarul cardului este {}'.format(self.nrCard)
  6.     def __explode(self):
  7.         l = []
  8.         n = self.nrCard
  9.         while n != 0:
  10.             u = n % 10
  11.             n = n // 10
  12.             l.append(u)
  13.         l.reverse()
  14.         return l
  15.     def __verificareLungime(self):
  16.         l = self.__explode()
  17.         if len(l) >= 13 and len(l) <= 16:
  18.             return True
  19.         else:
  20.             return False
  21.     def __verificarePrimaCifra(self):
  22.         l = self.__explode()
  23.         if l[0] == 4:
  24.             return 'Visa'
  25.         elif l[0] == 5:
  26.             return 'MasterCard'
  27.         elif l[0] == 3 and l[1] == 7:
  28.             return 'American Express'
  29.         elif l[0] == 6:
  30.             return 'Discover'
  31.         return None
  32.     def __generareLista2(self):
  33.         l = self.__explode()
  34.         l2 = []
  35.         for i in range(len(l)-2,-1,-2):
  36.             l2.append(l[i])
  37.         return l2
  38.     def __generareLista3(self):
  39.         l = self.__explode()
  40.         l3 = []
  41.         for i in range(len(l)-1,-1,-2):
  42.             l3.append(l[i])
  43.         return l3
  44.     def __generareLista22(self):
  45.         l2 = self.__generareLista2()
  46.         l22 = []
  47.         for e in l2:
  48.             calcul = 2 * e
  49.             if calcul < 10:
  50.                 l22.append(calcul)
  51.             else:
  52.                 c1 = calcul // 10
  53.                 c2 = calcul % 10
  54.                 s = c1 + c2
  55.                 l22.append(s)
  56.         return l22
  57.     def __generareS1(self):
  58.         l22 = self.__generareLista22()
  59.         suma = 0
  60.         for i in l22:
  61.             suma = suma + i
  62.         return suma
  63.     def __generareS2(self):
  64.         l3 = self.__generareLista3()
  65.         suma = 0
  66.         for i in l3:
  67.             suma = suma + i
  68.         return suma
  69.     def __sumaTotala(self):
  70.         s1 = self.__generareS1()
  71.         s2 = self.__generareS2()
  72.         s = s1 + s2
  73.         return s
  74.     def validare(self):
  75.         s = self.__sumaTotala()
  76.         if s % 10 == 0:
  77.             return 'Cardul este valid'
  78.         else:
  79.             return 'Cardul este invalid'
  80.  
  81. c1 = Card(4388576018402626)
  82. print(c1)
  83. print(c1.validare())
  84. c2 = Card(4388576018410707)
  85. print(c2.validare())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement