السّلام عليكم,

إخوتي هل يمكنكم مساعدتي بفهم الخوازمية التالية "مأخوذة من محاضرة من جامعة أمريكية":

def luhn_sum(n):
"""Return the digit sum of n computed by the Luhn algorithm"""    
   if n < 10:
    return n 
   else:
    all_but_last, last = split(n)
    return luhn_sum_double(all_but_last) + last   

def luhn_sum_double(n):   
"""Return the  Luhn sum of n, doubling the last digit."""               
   all_but_last, last = split(n)    
   luhn_digit= sum_digits(2 * last)   
   if n < 10:
    return luhn_digit 
   else:
    return luhn_sum(all_but_last) + luhn_digit