Middle+
შეასრულეთ და ჩაატარეთ ბარათის ვალიდაციის კლასის ნაკლებად არსებული მეთოდები. თარიღის გასვლის ვადის შემოწმების მეთოდი უკვე შესრულებულია შეცდომების გარეშე. საკმარისია, შეასრულოთ 2 ნაკლებად არსებული მეთოდი, რომლებიც ამოწმებენ ბარათის თვისებებს.
sobes.tech AI
პასუხი AI-სგან
კარტის ვალიდაციის კლასის არარსებული მეთოდების განხორციელებისთვის, შეგიძლიათ მაგალითად, დაამატოთ კარტის ნომრის სისწორის შემოწმება და CVV-ის შემოწმება.
Python-ის მაგალითი:
class CardValidator:
def __init__(self, number, expiry_date, cvv):
self.number = number
self.expiry_date = expiry_date
self.cvv = cvv
def validate_expiry_date(self):
# რეალიზებულია
pass
def validate_number(self):
# კარტის ნომრის შემოწმება ლუნის ალგორითმით
def luhn_checksum(card_number):
def digits_of(n):
return [int(d) for d in str(n)]
digits = digits_of(card_number)
odd_digits = digits[-1::-2]
even_digits = digits[-2::-2]
checksum = sum(odd_digits)
for d in even_digits:
checksum += sum(digits_of(d*2))
return checksum % 10
return luhn_checksum(self.number) == 0
def validate_cvv(self):
# CVV უნდა იყოს 3 ან 4 ციფრი
return self.cvv.isdigit() and len(self.cvv) in (3, 4)
# ტესტი
validator = CardValidator('4532015112830366', '12/25', '123')
assert validator.validate_number() == True
assert validator.validate_cvv() == True
ამ გზით, იმ მეთოდებს, რომლებიც ამოწმებენ ბარათის თვისებებს, რეალიზება ხორციელდება, გარდა უკვე არსებული თარიღის შემოწმებისა.