【问题标题】:IBAN validation PythonIBAN 验证 Python
【发布时间】:2019-04-06 23:07:14
【问题描述】:

对于大学,我们必须编写一个代码来验证德国、瑞士和法国的 IBAN。德国 IBAN DE08700901001234567890 包含两个字母“DE”,测试编号 08,银行编号 70090100 和帐号 1234567890。对于字母,您必须在他的号码上添加 +9(A = 10,B = 11,... Z = 35)。

为了验证 IBAN,前四个数字必须移到末尾,字母 DE 应替换为 1314。验证数字 700901001234567890131408 Modul0 97 必须为 1。

我们是绝对的初学者。我们今天讲座的主题是“while 循环和 for 循环”,所以代码需要简单。我想,这与列表有关,因为您添加了数字,但我们还没有在讲座中讨论过列表。

我的尝试:

# add 9 to the letter
D = 13
E = 14
F = 15
R = 28
C = 12
H = 17

list = ibannummer = input ('Enter your IBAN number')
if 'DE' in ibannummer :
    banknumber = ibannummer[5,6,7,8,9,10,11] #banknumber 70090100
    accountumber = ibannummer[12:] #accountnummer 1234567890
    valiationnumber = bankleitzahl + kontonummer.append(ibannummer[0,1,2,3])
      if valiationnumber % 97 == 1 :
                        print ('validierte IBAN')

【问题讨论】:

    标签: python iban


    【解决方案1】:

    根据我的理解,这只是一个临时的工作理论:

    IBAN = 'DE08700901001234567890'
    if IBAN[0:2] == 'DE':
        testNumber = IBAN[2:4]
        bankNumber = IBAN[4:12]
        accNumber = IBAN[12:]
        valNumber= int("1314"+IBAN[6:]+IBAN[2:6])
        print(valNumber)
        if (valNumber%97)==1:
            print("This is a valid IBAN number")
        else:
            print("Excuse me sir, but this is not valid...")
    

    但是,此代码(如果您快速运行)与您提供的验证代码不匹配。如果您希望将 DE 视为一个数字:

    IBAN = 'DE08700901001234567890'
    if IBAN[0:2] == 'DE':
        testNumber = IBAN[2:4]
        bankNumber = IBAN[4:12]
        accNumber = IBAN[12:]
        valNumber= int(bankNumber+accNumber+str(1314)+testNumber)
        print(valNumber)
        if (valNumber%97)==1:
            print("This is a valid IBAN number")
        else:
            print("Excuse me sir, but this is not valid...")
    

    我不明白为什么你必须将所有字母 = 变成一个数字(即 D=13),因为你检查它是否以 DE 开头,你知道无论如何它都会是 1314。

    【讨论】:

      猜你喜欢
      • 2014-01-25
      • 2015-11-19
      • 2014-03-22
      • 2017-10-03
      • 2016-11-08
      • 2012-01-12
      • 2011-12-10
      • 2011-06-05
      • 2019-07-19
      相关资源
      最近更新 更多