私はLakhsとThousandsに分割したい整数の金額オブジェクトを持っています。たとえば、これをとamount = 2,50,000
に分割したいとします。lakhs = 2,00,000
thousands = 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)
このコードは醜く見えますが、より良い、より短い方法があると確信しています。私が望むものをより良い方法で達成するのを手伝ってもらえますか?