Дистанционная подготовка: 16-R Задача №3766. Банковские счета
16-R Задача №3766. Банковские счета
от Игорь Островитянин - Понедельник 2 Май 2016, 00:22
3766. Банковские счета
  Не могу решить задачу. Выдает ошибку при выполнении программы, не проходит ни один тест.
В чем проблема?

D = {}
while 1:
    line = input()
    if not line: break
   
    if line.startswith('DEPOSIT'):
        _, name, amount = line.split()
        D[name] = D.get(name, 0) + int(amount)
    elif line.startswith('WITHDRAW'):
        _, name, amount = line.split()
        D[name] = D.get(name, 0) - int(amount)
       
    elif line.startswith('BALANCE'):
        _, name = line.split()
        if name in D:
            print(D[name])
        else:
            print('ERROR')
    elif line.startswith('TRANSFER'):
        _, name, name2, amount = line.split()
        D[name] = D.get(name, 0) - int(amount)
        D[name2] = D.get(name2, 0) + int(amount)
       
    elif line.startswith('INCOME'):
        _, p = line.split()
        for name in D:
            if D[name] > 0:
                D[name] = int(D[name] * (1 + float(p) / 100))