Problem definition
If: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Is equal to; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Then H+A+R+D+W+O+R+K ; 8+1+18+4+23+15+18+11=98% K+N+O+W+L+E+D+G+E ; 11+14+15+23+12+5+4+7+5=96% L+O+V+E; 12+15+22+5 = 54% L+U+C+K ; 12+21+3+11 =47% None of them makes 100%. Then what makes 100% ??? Is it Money? NO !!! M+O+N+E+Y= 13+15+14+5+25=72% Leadership? NO !!! L+E+A+D+E+R+S+H+I+P= 12+5+1+4+5+18+19+8+9+16=97% Every problem has a solution, only if we perhaps change our "ATTITUDE". A+T+T+I+T+U+D+E ; 1+20+20+9+20+21+4+5 = 100% It is therefore OUR ATTITUDE towards Life and Work that makes OUR Life 100% Successful..
What makes 100%?
Ignoring that it's not a percent, but really what words add up to 100 given the supplied 1 based translation system... well, that just sounded like a fun nerdy challenge.Python to the rescue
If you've never heard me talk about it, I loved the 3ish years I spent writing python code to parse all these random source files we'd receive and push it into our marketing databases. Once you get over the whitespace thing with python, you'll likely agree that it's one of the more beautiful and elegant languages out there.Capital A is ASCII value 65; Z is 90; a is 97 and z is 122. Knowing this, if I make everything uppercase, convert each letter to its ordinal value and subtract 64, and then add up all the values, I should be able to identify the value of a particular word. Piece of cake.
# create a variable to hold our translation between ASCII and percent value offset = 64 def WordValue(word): # compute the value for each character # convert to upper case and subtract 64 to get it to 1-26 return sum([(ord(c)-offset) for c in word.upper()]) # Create a word list. I cribbed from http://www.manythings.org/vocabulary/lists/l/ f = open('/Users/bfellows/qualities.txt') # Create an empty list to hold all matching words. Since my source has duplicates, # I will want to filter them out l = [] # rip through my file line by line for line in f.read().splitlines(): # Test whether our summed value matches the target if WordValue(line) == 100: # keep track of everything that matches l.append(line) # Enumerate through all of our matches for item in set(l): # Display matches to the screen print item
Source data
As I indicated in the code, I simply took some of the word lists from manythings.org and appended them to a text file---one row per word. Sample data followsa an able about above abuse accept accident accuse across
What makes 100%?
Based on the 2360 words in my source file, besides Attitude, the following words will also give 100%- prevent
- telescope
- Congress
- hospital
- ornament
- telephone
- boycott
- culture
- inflation
- excellent
- writing
- interfere
- repress
- lightning
No comments:
Post a Comment