-1

私はLakhsとThousandsに分割したい整数の金額オブジェクトを持っています。たとえば、これをとamount = 2,50,000に分割したいとします。lakhs = 2,00,000thousands = 50,000

現在、私は次の方法を使用しています。

def split_amount(value):
    """ A custom method to Split amount into Lakhs and Thousands """
    tho, lak = 0, 0
    digits = list(str(value))

    if len(digits) < 4:
        print 'Error :  Amount to small to split'
    elif len(digits) == 4:
        tho = ('').join(digits[-4:])
    elif len(digits) == 5:
        tho = ('').join(digits[-5:])
    elif len(digits) == 6:
        tho = ('').join(digits[-5:])
        lak = ('').join(digits[-6:])
    elif len(digits) >= 7:
        tho = ('').join(digits[-5:])
        lak = ('').join(digits[-7:])
    else:
        print "Error : Unknown Error"

    if int(tho) <= 0:
        thousands = 0 
    else:
        thousands = int(tho)

    if (int(lak) - int(tho) <= 0): 
        lakhs = 0 
    else:
        lakhs = int(lak) - int(tho)

    return (lakhs, thousands)

このコードは醜く見えますが、より良い、より短い方法があると確信しています。私が望むものをより良い方法で達成するのを手伝ってもらえますか?

4

1 に答える 1

3

あなたの質問を正しく読んでいるのなら、モジュラス演算子を使ってみませんか?

amount = 250000

thousands = amount % 100000
lakhs = amount - thousands
于 2012-12-15T09:10:26.523 に答える