Pyhon List 序号更正 & 银行余额金额连续性验证

序号更正 & 余额金额连续性验证

    # 序号更正 & 余额金额连续性验证
    def updateNumberAndBalanceContinuityVerify(t):
        # 序号更正
        for i in range(len(t)):
            if i != 0:
                if t[i][14] != t[i - 1][14]:
                    t[i][0] = 1
                else:
                    t[i][0] = t[i - 1][0] + 1
                # 金额连续性验证
                if i > 1:
                    # print(t[i-1][4],t[i][4],t[i][2],t[i][3])
                    if type(t[i - 1][4]) != str:
                        t[i - 1][4] = str(t[i - 1][4])
                    if type(t[i][4]) != str:
                        t[i][4] = str(t[i][4])
                    if type(t[i][2]) != str:
                        t[i][2] = str(t[i][2])
                    if type(t[i][3]) != str:
                        t[i][3] = str(t[i][3])

                    a = [
                        float(t[i - 1][4].strip().replace(",", "").replace('\t', '')),  # 上次余额
                        float(t[i][4].strip().replace(",", "").replace('\t', '')),  # 本次余额
                        float(t[i][2].strip().replace(",", "").replace('\t', '')),  # 支出金额
                        float(t[i][3].strip().replace(",", "").replace('\t', ''))  # 收入金额
                    ]

                    # print(a,abs(a[0]) - abs(a[2]) + abs(a[3]) - abs(a[1]))
                    if abs(abs(a[0]) - abs(a[2]) + abs(a[3]) - abs(a[1])) > 0.0001:
                        print("\n ----余额连续验证失败 行号:{} ----\n   请查正!上次余额{},支出{},收入{},本次余额{}\n".format(i - 2, a[0], a[2],
                                                                                                    a[3],
                                                                                                    a[1]))
        return t
posted @ 2020-11-12 09:51  c_b  阅读(191)  评论(0)    收藏  举报