Middle+
Implementieren und testen Sie die fehlenden Methoden der Kartenvalidierungsklasse. Die Methode zur Überprüfung des Ablaufdatums ist bereits fehlerfrei implementiert. Für eine Teillösung reicht es aus, 2 fehlende Methoden zu implementieren, die die Eigenschaften der Karte überprüfen.
sobes.tech KI
Antwort von AI
Um Methoden zum Validieren der Karte, die noch fehlen, können beispielsweise die Überprüfung der Kartennummer auf Korrektheit und die CVV-Überprüfung sein.
Beispiel in 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):
# Implementiert
pass
def validate_number(self):
# Überprüfung der Kartennummer nach dem Luhn-Algorithmus
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 sollte 3 oder 4 Ziffern haben
return self.cvv.isdigit() and len(self.cvv) in (3, 4)
# Testen
validator = CardValidator('4532015112830366', '12/25', '123')
assert validator.validate_number() == True
assert validator.validate_cvv() == True
Auf diese Weise werden Methoden implementiert, die die Eigenschaften der Karte überprüfen, zusätzlich zur bereits vorhandenen Überprüfung des Datums.