Bankaart

Het International Bank Account Number (IBAN) wordt gebruikt om internationale transacties tussen rekeningen en banken gelegen in verschillende landen vlotter te laten verlopen, zie IBAN1.
Een voorbeeld van een correct IBAN-nummer is NL20 INGB 0001 2345 67.

Het derde en vierde teken van een IBAN-nummer vormen een controlegetal, dat berekend wordt met het algoritme van IBAN (zie verder). In het voorbeeld is dit 20

Schrijf de functie iban_controlegetal die het IBAN-controlegetal toevoegt in een onvolledige IBAN-code. De functie heeft als enige parameter een onvolledige IBAN-code. Daarbij is de plaats voor het controlegetal aangeduid met twee vraagtekens, zoals NL??INGB0001234567. De functie geeft het juiste IBAN-nummer terug.

Voor de duidelijkheid zijn er soms spaties toegevoegd in de gegeven IBAN-code. Die behoud je bij de terruggegeven waarde.

Het controlegetal wordt berekend met het algoritme van IBAN dat hieronder stap voor stap beschreven wordt met het voorbeeld.

Voorbeeld

De onvolledige IBAN-code is NL??INGB0001234567 .

  1. Verwijder de twee ??-tekens en zet de landcode achteraan: INGB0001234567NL
  2. Vervang elke letter (hoofdletter of kleine letter) door 2 cijfers, waarbij A=10, B=11, …, Z=35 (I=18, N=23, G=16, B=11, N=23, L=21):
    18 23 16 11 0001234567 23 21
  3. Voeg twee nullen toe achteraan: 18 23 16 11 0001234567 23 21 00
  4. Plak alle cijfers aan elkaar tot één getal: 182316110001234567232100
  5. Bereken de rest van het getal bij deling door 97: 78
  6. Bereken 98 min deze rest, dit is het controlegetal: 20
  7. Voeg het controlegetal toe op de plaats van ?? Als het controlegetal kleiner is dan 10, wordt een voorloopnul toegevoegd. Het IBAN is dus: NL20INGB0001234567
>>> iban_controlegetal("NL??INGB0001234567")
NL20INGB0001234567
>>> iban_controlegetal("NL?? INGB 0001 2345 67")
NL20 INGB 0001 2345 67

Het tweede voorbeeld toont hoe je met spaties moet omgaan.

Type hinting

Vul dit zelf correct aan. Dit wordt gecontroleerd in Dodona!!