Home > Problem, Projects/Experiments, Python > Python : Triangle Number

## Python : Triangle Number

Python: Triangle Number
Projecteuler problem No.42

With Problem 42, we have to read a file containing nearly two-thousand common English words and find how many are triangle words?

Difinetion: Triangle Words: If we give each alphabetical in English language a value related to its corresponding location such as A=1, B=2, C=3 and so on, then we convert the word to a value based on a sum of its characters values, we can said that a word is a triangular if its value equal to sequence in a Triangular Number formula.

Triangular Number formula:
Tn =(n/2)*(n+1)

Example.. If we have a word “SKY”, We will find that:
The Value of S=19
The Value of K= 11
The value of Y= 25

The Total is (19+11+25) = 55

(55) is a number in the Triangular Number Sequence n=10
T10=(10/2)*(10+1)
=5*11
=55

Notes In this task, I will not write a code to read the text-file, but i will copy-paste it in a variable called “The_words”.

The words:

alpha_value={“A”:1,”B”:2,”C”:3,”D”:4,”E”:5,”F”:6,”G”:7,”H”:8,”I”:9,”J”:10,”K”:11,”L”:12,
“M”:13,”N”:14,”O”:15,”P”:16,”Q”:17,”R”:18,”S”:19,”T”:20,”U”:21,”V”:22,”W”:23,”X”:24,”Y”:25,”Z”:26}

The Code:

# Function to get the word value
def get_word_value (the_word):

tot=0

for each in the_word:

tot = tot + alpha_value [each]

def triangle_numbers (the_value):

count_n = 1

while count_n <= the_value :

if ((count_n / 2) * (count_n + 1)) == the_value :

return True

break

else:

count_n = count_n + 1

return False

# Here we call each function and get the total_count of Triangle words
total_count=0

for each in The_words:

check_word =(each)

word_value = get_name_value (check_word)

if triangle_numbers (word_value) :

print (each,word_value,’True’)

total_count = total_count +1

print(‘Total Triangle Words=’,total_count)