Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Card:
- def __init__(self,n):
- self.nrCard = n
- def __repr__(self):
- return 'Numarul cardului este {}'.format(self.nrCard)
- def __explode(self):
- l = []
- n = self.nrCard
- while n != 0:
- u = n % 10
- n = n // 10
- l.append(u)
- l.reverse()
- return l
- def __verificareLungime(self):
- l = self.__explode()
- if len(l) >= 13 and len(l) <= 16:
- return True
- else:
- return False
- def __verificarePrimaCifra(self):
- l = self.__explode()
- if l[0] == 4:
- return 'Visa'
- elif l[0] == 5:
- return 'MasterCard'
- elif l[0] == 3 and l[1] == 7:
- return 'American Express'
- elif l[0] == 6:
- return 'Discover'
- return None
- def __generareLista2(self):
- l = self.__explode()
- l2 = []
- for i in range(len(l)-2,-1,-2):
- l2.append(l[i])
- return l2
- def __generareLista3(self):
- l = self.__explode()
- l3 = []
- for i in range(len(l)-1,-1,-2):
- l3.append(l[i])
- return l3
- def __generareLista22(self):
- l2 = self.__generareLista2()
- l22 = []
- for e in l2:
- calcul = 2 * e
- if calcul < 10:
- l22.append(calcul)
- else:
- c1 = calcul // 10
- c2 = calcul % 10
- s = c1 + c2
- l22.append(s)
- return l22
- def __generareS1(self):
- l22 = self.__generareLista22()
- suma = 0
- for i in l22:
- suma = suma + i
- return suma
- def __generareS2(self):
- l3 = self.__generareLista3()
- suma = 0
- for i in l3:
- suma = suma + i
- return suma
- def __sumaTotala(self):
- s1 = self.__generareS1()
- s2 = self.__generareS2()
- s = s1 + s2
- return s
- def validare(self):
- s = self.__sumaTotala()
- if s % 10 == 0:
- return 'Cardul este valid'
- else:
- return 'Cardul este invalid'
- c1 = Card(4388576018402626)
- print(c1)
- print(c1.validare())
- c2 = Card(4388576018410707)
- print(c2.validare())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement