You are on page 1of 1

###########SUMMING DIGITS OF A NUMBER###############################

def reduce_to_single_digit_or_special(num):
# Compute the initial sum of digits
total_sum = sum(int(digit) for digit in str(num))

# Reduce the sum of digits until it reaches a single digit or one of the
special cases
while total_sum > 9:
if total_sum in [11, 22, 33]:
break
new_total_sum = sum(int(digit) for digit in str(total_sum))
total_sum = new_total_sum

return total_sum

###############################LIFEPATH############################################
def add_birthdate_digits(birthdate):
date_digits = [int(digit) for digit in birthdate if digit.isdigit()]
life_path_number = sum(date_digits)
while life_path_number > 9 and life_path_number not in [11, 22, 33]:
life_path_number = sum(int(digit) for digit in str(life_path_number))
return life_path_number

#add_birthdate_digits("27-12-1989")

##########################EXPRESSION NUMBER######################################
def sum_of_name_numbers(first_name, middle_name="", last_name=""):
alphabet_to_number = {
'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7, 'h': 8, 'i': 9,
'j': 1, 'k': 2, 'l': 3, 'm': 4, 'n': 5, 'o': 6, 'p': 7, 'q': 8, 'r': 9,
's': 1, 't': 2, 'u': 3, 'v': 4, 'w': 5, 'x': 6, 'y': 7, 'z': 8
}
first_name_sum = 0
middle_name_sum = 0
last_name_sum = 0
total_sum = 0
for letter in first_name:
letter = letter.lower()
if letter in alphabet_to_number:
first_name_sum += alphabet_to_number[letter]
for letter in middle_name:
letter = letter.lower()
if letter in alphabet_to_number:
middle_name_sum += alphabet_to_number[letter]
for letter in last_name:
letter = letter.lower()
if letter in alphabet_to_number:
last_name_sum += alphabet_to_number[letter]
total_sum = first_name_sum + middle_name_sum + last_name_sum
total_sum = reduce_to_single_digit_or_special(total_sum)
return(f"first name: {reduce_to_single_digit_or_special(first_name_sum)},
middle name: {reduce_to_single_digit_or_special(middle_name_sum)}, last name:
{reduce_to_single_digit_or_special(last_name_sum)}, expression number:
{total_sum}")

You might also like