### Archive

Archive for June, 2019

## Python Project: Split and join

Python: Split and join

Split up the message on newline

The target of this task is to Split a given text message on the newline (\n) then use the join builtin to stitch it together using a ‘|’ (pipe).

I fond this on the pybites web-site as a code-challenges bites #104. In our case we will print the new Message within the function but we can return it back as a variable for more usage in our code..

Enhancements: If we want to do some enhancements to this code:

1. We can read the message from a file.

2. Letting the user to select the joining character.

3. Also we may export the final message to another txt file.

We assume our message is “Hello world!\nWe hope that you are learning a lot of Python.\nHave fun with our Bites of Py.\nKeep calm and code in Python!\nBecome a PyBites ninja!”

The Code:

def split_in_columns(message=message):

sp_message = message.split(“\n”)

message=”|”.join(sp_message)

print(message)

split_in_columns(message=message)

## Python: Digit Factorial Chains

Python: Digit factorial Chains
Problem No.74 @ ProjectEuler

In this task, we need to produce a chain of the summation of a factorial number and keep chasing each number in the chain until it starts repeat, we stop there and count the length of the chain, if its 60 then we increase a counter. ProjectEuler task 74 ask to do this and get all the numbers (How many are they?) below one Million (1000000) that has 60 numbers in it’s chain.

So we start to write two functions, one to get the factorial of a number, and the other to get the summation of the numbers in a list. Then with two (while) loop, an outer one to count the 60’s chain numbers, and an inner one to produce the chains.

At the end we manage to solve the problem 74 using Pythonanywhere.

The Code:

#Digit factorial chains
#Problem 74

numbers=[]

# Function to get the Factorials of a number.
def get_factorial(num):

if (num == 0) :

return 1

else:

return num * get_factorial(num-1)

def get_summation(the_list):

tot=0

for each in the_list:

tot +=each

return tot

start_num = 2

the_num = start_num
keep_chain=[start_num]
chain_count = 0

print(‘We start with number ‘,start_num)
the_facto_d_sum = 0

while start_num < 1000000 :

the_num = start_num

keep_chain=[start_num]

while the_facto_d_sum != start_num:

for each in str(the_num):

numbers.append(get_factorial(int(each)))

the_facto_d_sum = get_summation(numbers)

the_num = the_facto_d_sum

if the_num in keep_chain :

the_facto_d_sum = start_num

else:

keep_chain.append(the_num)

numbers=[]

if len(keep_chain) == 60:

chain_count +=1

keep_chain =[]

start_num +=1

print(‘we have {} numbers with 60 ‘.format(chain_count))

## Python: 1000-Digit Fibonacci

Python: 1000-Digit Fibonacci
Problem No.25, ProjectEuler

Another easy fast 5-minites task on projecteuler that Playing around Fibonacci Numbers, the task is to find the first Fibonacci index to contain 1000 digits.

So we will write a function to get the fibonacci numbers and each time we will check if it’s digits reach 1000, if not we will go for generating the next number.

The Code:

#1000-digit Fibonacci number
# problem no 25
# Solved.

def get_fibonacci():

x=1

fibo=[1,1]

while len(str(fibo[x])) != 1000:

fibo.append(fibo[-2]+fibo[-1])

x +=1

print(‘The index of the first term in the Fibonacci sequence to contain 1000 digits is ‘,x+1)

# Call the function
get_fibonacci()

## Python: Distinct Powers

Python: Distinct Powers
ProjectEuler Problem No.29

In this project we have a sequance of numbers based on a powered number, it takes ten minites or less to write the code, test it and applay the needed figures to solve the problem. Thie code can be shorten, but I am using the classic way to write functions with comments on code.

Here is the Problem as on the ProjectEuler Portal:
Consider all integer combinations of ab for 2 ≤ a ≤ 5 and 2 ≤ b ≤ 5:

22=4, 23=8, 24=16, 25=32
32=9, 33=27, 34=81, 35=243
42=16, 43=64, 44=256, 45=1024
52=25, 53=125, 54=625, 55=3125
If they are then placed in numerical order, with any repeats removed, we get the following sequence of 15 distinct terms:

4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125

How many distinct terms are in the sequence generated by ab for 2 ≤ a ≤ 100 and 2 ≤ b ≤ 100?

The Code:

#Distinct powers
#Problem 29

sequence_list=[]

def get_sequence (a):

for b in range (2,101):

if a**b not in sequence_list:

#If the elements NOT exist in the list then add it.

sequence_list.append(a**b)

for a in range (2,101):

get_sequence (a) # Calling the function

# Get the total elements in the sequence_list
print (len(sequence_list))

## Python: Even Fibonacci Numbers

Python: Even Fibonacci Numbers
ProjectEuler Problem No.2

Easy fast task in ProjectEuler, The Task is to find the sum of the even-valued terms in Fibonacci sequence whose values do not exceed four million.

In this code we will add some print-statment to just show how mane even numbers there and the summation of it.

The Code:

# Even Fibonacci Numbers
# projectEuler Problem No. 2

def get_fibonacci_sequence():

n1 = 1

n2 = 1

fibo = 1

while fibo < 4000000:

fibo = n1+n2

n1 = n2

n2 = fibo

if fibo% 2 == 0:

even_fibo_num.append(fibo)

tot = 0
even_fibo_num = []
get_fibonacci_sequence()
print(‘\n We fond {} even fibonacci”s number less than 4000000.’.format(len(even_fibo_num)))
for each in even_fibo_num:

tot = tot + each

print(‘ The summation on those even Fibonacci”s is: ‘, tot)

## Python: Perfect Number

Python: Non-abundant sums
Problem No.23 @ ProjectEuler

In projecteuler Problem No. 23 talking about Non-abundant sums to clear this it state three categories for a numbers.

1. A number N called Perfect Number if the sum of its divisors are equal to the number it self. So 28 is a perfect number because the divisors of 28 are 1,2,4,7,14 they equal to 28.
( 1 + 2 + 4 + 7 + 1 4 = 28)

2. A number N is called Deficient if the sum of its proper divisors is less than the number it self N.

3. And a number N is called Abundant if this sum of its proper divisors is exceeds N (number it self)

Enhancement: So instead of solving problem No.23, we will write a code to determent the group that a number belongs to. As we trying to make a general cods, we will ask the user to enter a number then we will call the function to collect all the divisors of N and get its sum and gives it a name according to the classification we just talk about.

The Code:

# Python: Non-abundant sums
# Problem No.23 @ ProjectEuler
# We solve it in my way

num_divisors=[]

def get_num_group (num):

for x in range(1,num):

if num%x == 0:

num_divisors.append(x)

num =int(input(‘Enter a number: ‘))
div_sum =0

get_num_group(num)

for each in num_divisors:

div_sum = div_sum + each

print(‘\n Divisors of {} are,’.format(num),num_divisors)
print(‘ The sum of the Divisors is ‘,div_sum)
if div_sum == num :

print (‘ The number {} is Perfect Number’.format(num))
elif div_sum < num :

print (‘ The number {} is Deficient ‘.format(num))
else:

print (‘ The number {} is Abundant ‘.format(num))

## Python: Square Digit Chain

Python: Square Digit Chain
ProjectEuler Problem No.92

Here we have a mathematical definition called Happy Number..

A Happy Number is defined by the following process:

Starting with any positive integer, replace the number by the sum of the squares of its digits in base-ten, and repeat the process until the number either:
equals 1 (where it will stay), or
it loops endlessly in a cycle that does not include 1.
(Wikipedia).

In ProjectEuler the task stated in this problem as ” How many starting numbers below ten million will arrive at 89?”

Enhancement: Here we will do something else, we will try to solve the task and post the answer to the projecteuler portal, BUT we are not talking about this here, we will use the concept of this task to generate chains of looped number and I will use it later in another post (project) and trying to represent this chains in a graphic way.

So to do this we need two functions, First one will read a number, get its digits, squaring each digit and get the summation. To keep our eyes on the numbers we need to store it, so we will use list called the_chain.

To check if we have reach a closed chain then we need to ask if the new number (sum of square digit) exists in the chain list or not. If exists we finish and will return the chain for more manipulating.

I will solve this on my way .. 🙂

In this code we will do the following:

1. We will ask the user to enter a number.

2. We will run the function on that number.

3. Outputs:

If we ends with 1 then we have a Happy Number.

If we have closed chain (current number exists in the chain) then we will have tow cases:

If the current number is the same as the start number, then we will call this “Perfect Chain“. Otherwise we will call it “Tail Chain

The Code:

# Square digit chain.
# Pprojecteuler problem No 92

num = 1
the_chain=[]

def get_square_digit_chain(n):

tot=0

the_chain.append(n)

while n != 0:

tot=0

for each in str(n):

tot= tot + int(each)**2

n = tot

if n in the_chain:

return n

else:

the_chain.append(n)

#We ask the user to enter a number.
num =int(input(“Enter a number “))

chain_closed = get_square_digit_chain(num)
if chain_closed == 1:

print(“We have a Happy Number”)

print(the_chain,’This is Open Chain’)
else:

if chain_closed == num:

print(“We have a Perfect Chain”)

print(the_chain,’Closed on’,chain_closed)

else:

print(“We have a Tail Chain”)

print(the_chain,’Closed on’,chain_closed)

## 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:
The_words=(“A”,”ABILITY”,”ABLE”,”ABOUT”,”ABOVE”,”ABSENCE”,”ABSOLUTELY”,”ACADEMIC”,”ACCEPT”,”ACCESS”, “ACCIDENT”,”ACCOMPANY”,”ACCORDING”,”ACCOUNT”,”ACHIEVE”,”ACHIEVEMENT”,”ACID”,”ACQUIRE”, “ACROSS”,”ACT”,”ACTION”,”ACTIVE”,”ACTIVITY”,”ACTUAL”,”ACTUALLY”,”ADD”,”ADDITION”,”ADDITIONAL”,”ADDRESS”,”ADMINISTRATION”,”ADMIT”,”ADOPT”,”ADULT”,”ADVANCE”,”ADVANTAGE”,”ADVICE”,”ADVISE”,”AFFAIR”, “AFFECT”,”AFFORD”,”AFRAID”,”AFTER”,”AFTERNOON”,”AFTERWARDS”,”AGAIN”,”AGAINST”,”AGE”,”AGENCY”,”AGENT”,”AGO”,”AGREE”,”AGREEMENT”,”AHEAD”,”AID”,”AIM”,”AIR”,”AIRCRAFT”,”ALL”,”ALLOW”,”ALMOST”, “ALONE”,”ALONG”,”ALREADY”,”ALRIGHT”,”ALSO”,”ALTERNATIVE”,”ALTHOUGH”,”ALWAYS”,”AMONG”,”AMONGST”, “AMOUNT”,”AN”,”ANALYSIS”,”ANCIENT”,”AND”,”ANIMAL”,”ANNOUNCE”,”ANNUAL”,”ANOTHER”,”ANSWER”,”ANY”, “ANYBODY”,”ANYONE”,”ANYTHING”,”ANYWAY”,”APART”,”APPARENT”,”APPARENTLY”,”APPEAL”,”APPEAR”,”APPEARANCE”,”APPLICATION”,”APPLY”,”APPOINT”,”APPOINTMENT”,”APPROACH”,”APPROPRIATE”,”APPROVE”,”AREA”,”ARGUE”, “ARGUMENT”,”ARISE”,”ARM”,”ARMY”,”AROUND”,”ARRANGE”,”ARRANGEMENT”,”ARRIVE”,”ART”,”ARTICLE”, “ARTIST”,”AS”,”ASK”,”ASPECT”,”ASSEMBLY”,”ASSESS”,”ASSESSMENT”,”ASSET”,”ASSOCIATE”,”ASSOCIATION”,”ASSUME”,”ASSUMPTION”,”AT”,”ATMOSPHERE”,”ATTACH”,”ATTACK”,”ATTEMPT”,”ATTEND”,”ATTENTION”,”ATTITUDE”, “ATTRACT”,”ATTRACTIVE”,”AUDIENCE”,”AUTHOR”,”AUTHORITY”,”AVAILABLE”,”AVERAGE”,”AVOID”,”AWARD”, “AWARE”,”AWAY”,”AYE”,”BABY”,”BACK”,”BACKGROUND”,”BAD”,”BAG”,”BALANCE”,”BALL”,”BAND”,”BANK”, “BAR”,”BASE”,”BASIC”,”BASIS”,”BATTLE”,”BE”,”BEAR”,”BEAT”,”BEAUTIFUL”,”BECAUSE”,”BECOME”,”BED”,”BEDROOM”,”BEFORE”,”BEGIN”,”BEGINNING”,”BEHAVIOUR”,”BEHIND”,”BELIEF”,”BELIEVE”,”BELONG”,”BELOW”, “BENEATH”,”BENEFIT”,”BESIDE”,”BEST”,”BETTER”,”BETWEEN”,”BEYOND”,”BIG”,”BILL”,”BIND”,”BIRD”, “BIRTH”,”BIT”,”BLACK”,”BLOCK”,”BLOOD”,”BLOODY”,”BLOW”,”BLUE”,”BOARD”,”BOAT”,”BODY”,”BONE”, “BOOK”,”BORDER”,”BOTH”,”BOTTLE”,”BOTTOM”,”BOX”,”BOY”,”BRAIN”,”BRANCH”,”BREAK”,”BREATH”,”BRIDGE”,”BRIEF”,”BRIGHT”,”BRING”,”BROAD”,”BROTHER”,”BUDGET”,”BUILD”,”BUILDING”,”BURN”,”BUS”,”BUSINESS”, “BUSY”,”BUT”,”BUY”,”BY”,”CABINET”,”CALL”,”CAMPAIGN”,”CAN”,”CANDIDATE”,”CAPABLE”,”CAPACITY”,”CAPITAL”,”CAR”,”CARD”,”CARE”,”CAREER”,”CAREFUL”,”CAREFULLY”,”CARRY”,”CASE”,”CASH”,”CAT”,”CATCH”, “CATEGORY”,”CAUSE”,”CELL”,”CENTRAL”,”CENTRE”,”CENTURY”,”CERTAIN”,”CERTAINLY”,”CHAIN”,”CHAIR”,”CHAIRMAN”,”CHALLENGE”,”CHANCE”,”CHANGE”,”CHANNEL”,”CHAPTER”,”CHARACTER”,”CHARACTERISTIC”,”CHARGE”, “CHEAP”,”CHECK”,”CHEMICAL”,”CHIEF”,”CHILD”,”CHOICE”,”CHOOSE”,”CHURCH”,”CIRCLE”,”CIRCUMSTANCE”,”CITIZEN”,”CITY”,”CIVIL”,”CLAIM”,”CLASS”,”CLEAN”,”CLEAR”,”CLEARLY”,”CLIENT”,”CLIMB”,”CLOSE”, “CLOSELY”,”CLOTHES”,”CLUB”,”COAL”,”CODE”,”COFFEE”,”COLD”,”COLLEAGUE”,”COLLECT”,”COLLECTION”,”COLLEGE”,”COLOUR”,”COMBINATION”,”COMBINE”,”COME”,”COMMENT”,”COMMERCIAL”,”COMMISSION”,”COMMIT”, “COMMITMENT”,”COMMITTEE”,”COMMON”,”COMMUNICATION”,”COMMUNITY”,”COMPANY”,”COMPARE”,”COMPARISON”, “COMPETITION”,”COMPLETE”,”COMPLETELY”,”COMPLEX”,”COMPONENT”,”COMPUTER”,”CONCENTRATE”,”CONCENTRATION”,”CONCEPT”,”CONCERN”,”CONCERNED”,”CONCLUDE”,”CONCLUSION”,”CONDITION”,”CONDUCT”,”CONFERENCE”,”CONFIDENCE”,”CONFIRM”,”CONFLICT”,”CONGRESS”,”CONNECT”,”CONNECTION”,”CONSEQUENCE”,”CONSERVATIVE”,”CONSIDER”, “CONSIDERABLE”,”CONSIDERATION”,”CONSIST”,”CONSTANT”,”CONSTRUCTION”,”CONSUMER”,”CONTACT”,”CONTAIN”,”CONTENT”,”CONTEXT”,”CONTINUE”,”CONTRACT”,”CONTRAST”,”CONTRIBUTE”,”CONTRIBUTION”,”CONTROL”, “CONVENTION”,”CONVERSATION”,”COPY”,”CORNER”,”CORPORATE”,”CORRECT”,”COS”,”COST”,”COULD”,”COUNCIL”,”COUNT”,”COUNTRY”,”COUNTY”,”COUPLE”,”COURSE”,”COURT”,”COVER”,”CREATE”,”CREATION”,”CREDIT”, “CRIME”,”CRIMINAL”,”CRISIS”,”CRITERION”,”CRITICAL”,”CRITICISM”,”CROSS”,”CROWD”,”CRY”,”CULTURAL”, “CULTURE”,”CUP”,”CURRENT”,”CURRENTLY”,”CURRICULUM”,”CUSTOMER”,”CUT”,”DAMAGE”,”DANGER”,”DANGEROUS”, “DARK”,”DATA”,”DATE”,”DAUGHTER”,”DAY”,”DEAD”,”DEAL”,”DEATH”,”DEBATE”,”DEBT”,”DECADE”,”DECIDE”, “DECISION”,”DECLARE”,”DEEP”,”DEFENCE”,”DEFENDANT”,”DEFINE”,”DEFINITION”,”DEGREE”,”DELIVER”,”DEMAND”, “DEMOCRATIC”,”DEMONSTRATE”,”DENY”,”DEPARTMENT”,”DEPEND”,”DEPUTY”,”DERIVE”,”DESCRIBE”,”DESCRIPTION”, “DESIGN”,”DESIRE”,”DESK”,”DESPITE”,”DESTROY”,”DETAIL”,”DETAILED”,”DETERMINE”,”DEVELOP”,”DEVELOPMENT”, “DEVICE”,”DIE”,”DIFFERENCE”,”DIFFERENT”,”DIFFICULT”,”DIFFICULTY”,”DINNER”,”DIRECT”,”DIRECTION”, “DIRECTLY”,”DIRECTOR”,”DISAPPEAR”,”DISCIPLINE”,”DISCOVER”,”DISCUSS”,”DISCUSSION”,”DISEASE”, “DISPLAY”,”DISTANCE”,”DISTINCTION”,”DISTRIBUTION”,”DISTRICT”,”DIVIDE”,”DIVISION”,”DO”,”DOCTOR”, “DOCUMENT”,”DOG”,”DOMESTIC”,”DOOR”,”DOUBLE”,”DOUBT”,”DOWN”,”DRAW”,”DRAWING”,”DREAM”,”DRESS”,”DRINK”, “DRIVE”,”DRIVER”,”DROP”,”DRUG”,”DRY”,”DUE”,”DURING”,”DUTY”,”EACH”,”EAR”,”EARLY”,”EARN”,”EARTH”, “EASILY”,”EAST”,”EASY”,”EAT”,”ECONOMIC”,”ECONOMY”,”EDGE”,”EDITOR”,”EDUCATION”,”EDUCATIONAL”,”EFFECT”, “EFFECTIVE”,”EFFECTIVELY”,”EFFORT”,”EGG”,”EITHER”,”ELDERLY”,”ELECTION”,”ELEMENT”,”ELSE”,”ELSEWHERE”, “EMERGE”,”EMPHASIS”,”EMPLOY”,”EMPLOYEE”,”EMPLOYER”,”EMPLOYMENT”,”EMPTY”,”ENABLE”,”ENCOURAGE”,”END”, “ENEMY”,”ENERGY”,”ENGINE”,”ENGINEERING”,”ENJOY”,”ENOUGH”,”ENSURE”,”ENTER”,”ENTERPRISE”,”ENTIRE”, “ENTIRELY”,”ENTITLE”,”ENTRY”,”ENVIRONMENT”,”ENVIRONMENTAL”,”EQUAL”,”EQUALLY”,”EQUIPMENT”,”ERROR”, “ESCAPE”,”ESPECIALLY”,”ESSENTIAL”,”ESTABLISH”,”ESTABLISHMENT”,”ESTATE”,”ESTIMATE”,”EVEN”,”EVENING”, “EVENT”,”EVENTUALLY”,”EVER”,”EVERY”,”EVERYBODY”,”EVERYONE”,”EVERYTHING”,”EVIDENCE”,”EXACTLY”, “EXAMINATION”,”EXAMINE”,”EXAMPLE”,”EXCELLENT”,”EXCEPT”,”EXCHANGE”,”EXECUTIVE”,”EXERCISE”,”EXHIBITION”, “EXIST”,”EXISTENCE”,”EXISTING”,”EXPECT”,”EXPECTATION”,”EXPENDITURE”,”EXPENSE”,”EXPENSIVE”, “EXPERIENCE”,”EXPERIMENT”,”EXPERT”,”EXPLAIN”,”EXPLANATION”,”EXPLORE”,”EXPRESS”,”EXPRESSION”, “EXTEND”,”EXTENT”,”EXTERNAL”,”EXTRA”,”EXTREMELY”,”EYE”,”FACE”,”FACILITY”,”FACT”,”FACTOR”, “FACTORY”,”FAIL”,”FAILURE”,”FAIR”,”FAIRLY”,”FAITH”,”FALL”,”FAMILIAR”,”FAMILY”,”FAMOUS”,”FAR”, “FARM”,”FARMER”,”FASHION”,”FAST”,”FATHER”,”FAVOUR”,”FEAR”,”FEATURE”,”FEE”,”FEEL”,”FEELING”, “FEMALE”,”FEW”,”FIELD”,”FIGHT”,”FIGURE”,”FILE”,”FILL”,”FILM”,”FINAL”,”FINALLY”,”FINANCE”,”FINANCIAL”, “FIND”,”FINDING”,”FINE”,”FINGER”,”FINISH”,”FIRE”,”FIRM”,”FIRST”,”FISH”,”FIT”,”FIX”,”FLAT”, “FLIGHT”,”FLOOR”,”FLOW”,”FLOWER”,”FLY”,”FOCUS”,”FOLLOW”,”FOLLOWING”,”FOOD”,”FOOT”,”FOOTBALL”, “FOR”,”FORCE”,”FOREIGN”,”FOREST”,”FORGET”,”FORM”,”FORMAL”,”FORMER”,”FORWARD”,”FOUNDATION”,”FREE”, “FREEDOM”,”FREQUENTLY”,”FRESH”,”FRIEND”,”FROM”,”FRONT”,”FRUIT”,”FUEL”,”FULL”,”FULLY”,”FUNCTION”,”FUND”,”FUNNY”,”FURTHER”,”FUTURE”,”GAIN”,”GAME”,”GARDEN”,”GAS”,”GATE”,”GATHER”,”GENERAL”,”GENERALLY”,”GENERATE”,”GENERATION”,”GENTLEMAN”,”GET”,”GIRL”,”GIVE”,”GLASS”,”GO”,”GOAL”,”GOD”,”GOLD”,”GOOD”,”GOVERNMENT”,”GRANT”,”GREAT”,”GREEN”,”GREY”,”GROUND”,”GROUP”,”GROW”,”GROWING”,”GROWTH”,”GUEST”,”GUIDE”,”GUN”,”HAIR”,”HALF”,”HALL”,”HAND”,”HANDLE”,”HANG”,”HAPPEN”,”HAPPY”,”HARD”,”HARDLY”,”HATE”,”HAVE”,”HE”,”HEAD”,”HEALTH”,”HEAR”,”HEART”,”HEAT”,”HEAVY”,”HELL”,”HELP”,”HENCE”,”HER”,”HERE”,”HERSELF”,”HIDE”,”HIGH”,”HIGHLY”,”HILL”,”HIM”,”HIMSELF”,”HIS”,”HISTORICAL”,”HISTORY”,”HIT”,”HOLD”,”HOLE”,”HOLIDAY”,”HOME”,”HOPE”,”HORSE”,”HOSPITAL”,”HOT”,”HOTEL”,”HOUR”,”HOUSE”,”HOUSEHOLD”,”HOUSING”,”HOW”,”HOWEVER”,”HUGE”,”HUMAN”,”HURT”,”HUSBAND”,”I”,”IDEA”,”IDENTIFY”,”IF”,”IGNORE”,”ILLUSTRATE”,”IMAGE”,”IMAGINE”,”IMMEDIATE”,”IMMEDIATELY”,”IMPACT”,”IMPLICATION”,”IMPLY”,”IMPORTANCE”,”IMPORTANT”,”IMPOSE”,”IMPOSSIBLE”,”IMPRESSION”,”IMPROVE”,”IMPROVEMENT”,”IN”,”INCIDENT”,”INCLUDE”,”INCLUDING”,”INCOME”,”INCREASE”,”INCREASED”,”INCREASINGLY”,”INDEED”,”INDEPENDENT”,”INDEX”,”INDICATE”,”INDIVIDUAL”,”INDUSTRIAL”,”INDUSTRY”,”INFLUENCE”,”INFORM”,”INFORMATION”,”INITIAL”,”INITIATIVE”,”INJURY”,”INSIDE”,”INSIST”,”INSTANCE”,”INSTEAD”,”INSTITUTE”,”INSTITUTION”,”INSTRUCTION”,”INSTRUMENT”,”INSURANCE”,”INTEND”,”INTENTION”,”INTEREST”,”INTERESTED”,”INTERESTING”,”INTERNAL”,”INTERNATIONAL”,”INTERPRETATION”,”INTERVIEW”,”INTO”,”INTRODUCE”,”INTRODUCTION”,”INVESTIGATE”,”INVESTIGATION”,”INVESTMENT”,”INVITE”,”INVOLVE”,”IRON”,”IS”,”ISLAND”,”ISSUE”,”IT”,”ITEM”,”ITS”,”ITSELF”,”JOB”,”JOIN”,”JOINT”,”JOURNEY”,”JUDGE”,”JUMP”,”JUST”,”JUSTICE”,”KEEP”,”KEY”,”KID”,”KILL”,”KIND”,”KING”,”KITCHEN”,”KNEE”,”KNOW”,”KNOWLEDGE”,”LABOUR”,”LACK”,”LADY”,”LAND”,”LANGUAGE”,”LARGE”,”LARGELY”,”LAST”,”LATE”,”LATER”,”LATTER”,”LAUGH”,”LAUNCH”,”LAW”,”LAWYER”,”LAY”,”LEAD”,”LEADER”,”LEADERSHIP”,”LEADING”,”LEAF”,”LEAGUE”,”LEAN”,”LEARN”,”LEAST”,”LEAVE”,”LEFT”,”LEG”,”LEGAL”,”LEGISLATION”,”LENGTH”,”LESS”,”LET”,”LETTER”,”LEVEL”,”LIABILITY”,”LIBERAL”,”LIBRARY”,”LIE”,”LIFE”,”LIFT”,”LIGHT”,”LIKE”,”LIKELY”,”LIMIT”,”LIMITED”,”LINE”,”LINK”,”LIP”,”LIST”,”LISTEN”,”LITERATURE”,”LITTLE”,”LIVE”,”LIVING”,”LOAN”,”LOCAL”,”LOCATION”,”LONG”,”LOOK”,”LORD”,”LOSE”,”LOSS”,”LOT”,”LOVE”,”LOVELY”,”LOW”,”LUNCH”,”MACHINE”,”MAGAZINE”,”MAIN”,”MAINLY”,”MAINTAIN”,”MAJOR”,”MAJORITY”,”MAKE”,”MALE”,”MAN”,”MANAGE”,”MANAGEMENT”,”MANAGER”,”MANNER”,”MANY”,”MAP”,”MARK”,”MARKET”,”MARRIAGE”,”MARRIED”,”MARRY”,”MASS”,”MASTER”,”MATCH”,”MATERIAL”,”MATTER”,”MAY”,”MAYBE”,”ME”,”MEAL”,”MEAN”,”MEANING”,”MEANS”,”MEANWHILE”,”MEASURE”,”MECHANISM”,”MEDIA”,”MEDICAL”,”MEET”,”MEETING”,”MEMBER”,”MEMBERSHIP”,”MEMORY”,”MENTAL”,”MENTION”,”MERELY”,”MESSAGE”,”METAL”,”METHOD”,”MIDDLE”,”MIGHT”,”MILE”,”MILITARY”,”MILK”,”MIND”,”MINE”,”MINISTER”,”MINISTRY”,”MINUTE”,”MISS”,”MISTAKE”,”MODEL”,”MODERN”,”MODULE”,”MOMENT”,”MONEY”,”MONTH”,”MORE”,”MORNING”,”MOST”,”MOTHER”,”MOTION”,”MOTOR”,”MOUNTAIN”,”MOUTH”,”MOVE”,”MOVEMENT”,”MUCH”,”MURDER”,”MUSEUM”,”MUSIC”,”MUST”,”MY”,”MYSELF”,”NAME”,”NARROW”,”NATION”,”NATIONAL”,”NATURAL”,”NATURE”,”NEAR”,”NEARLY”,”NECESSARILY”,”NECESSARY”,”NECK”,”NEED”,”NEGOTIATION”,”NEIGHBOUR”,”NEITHER”,”NETWORK”,”NEVER”,”NEVERTHELESS”,”NEW”,”NEWS”,”NEWSPAPER”,”NEXT”,”NICE”,”NIGHT”,”NO”,”NOBODY”,”NOD”,”NOISE”,”NONE”,”NOR”,”NORMAL”,”NORMALLY”,”NORTH”,”NORTHERN”,”NOSE”,”NOT”,”NOTE”,”NOTHING”,”NOTICE”,”NOTION”,”NOW”,”NUCLEAR”,”NUMBER”,”NURSE”,”OBJECT”,”OBJECTIVE”,”OBSERVATION”,”OBSERVE”,”OBTAIN”,”OBVIOUS”,”OBVIOUSLY”,”OCCASION”,”OCCUR”,”ODD”,”OF”,”OFF”,”OFFENCE”,”OFFER”,”OFFICE”,”OFFICER”,”OFFICIAL”,”OFTEN”,”OIL”,”OKAY”,”OLD”,”ON”,”ONCE”,”ONE”,”ONLY”,”ONTO”,”OPEN”,”OPERATE”,”OPERATION”,”OPINION”,”OPPORTUNITY”,”OPPOSITION”,”OPTION”,”OR”,”ORDER”,”ORDINARY”,”ORGANISATION”,”ORGANISE”,”ORGANIZATION”,”ORIGIN”,”ORIGINAL”,”OTHER”,”OTHERWISE”,”OUGHT”,”OUR”,”OURSELVES”,”OUT”,”OUTCOME”,”OUTPUT”,”OUTSIDE”,”OVER”,”OVERALL”,”OWN”,”OWNER”,”PACKAGE”,”PAGE”,”PAIN”,”PAINT”,”PAINTING”,”PAIR”,”PANEL”,”PAPER”,”PARENT”,”PARK”,”PARLIAMENT”,”PART”,”PARTICULAR”,”PARTICULARLY”,”PARTLY”,”PARTNER”,”PARTY”,”PASS”,”PASSAGE”,”PAST”,”PATH”,”PATIENT”,”PATTERN”,”PAY”,”PAYMENT”,”PEACE”,”PENSION”,”PEOPLE”,”PER”,”PERCENT”,”PERFECT”,”PERFORM”,”PERFORMANCE”,”PERHAPS”,”PERIOD”,”PERMANENT”,”PERSON”,”PERSONAL”,”PERSUADE”,”PHASE”,”PHONE”,”PHOTOGRAPH”,”PHYSICAL”,”PICK”,”PICTURE”,”PIECE”,”PLACE”,”PLAN”,”PLANNING”,”PLANT”,”PLASTIC”,”PLATE”,”PLAY”,”PLAYER”,”PLEASE”,”PLEASURE”,”PLENTY”,”PLUS”,”POCKET”,”POINT”,”POLICE”,”POLICY”,”POLITICAL”,”POLITICS”,”POOL”,”POOR”,”POPULAR”,”POPULATION”,”POSITION”,”POSITIVE”,”POSSIBILITY”,”POSSIBLE”,”POSSIBLY”,”POST”,”POTENTIAL”,”POUND”,”POWER”,”POWERFUL”,”PRACTICAL”,”PRACTICE”,”PREFER”,”PREPARE”,”PRESENCE”,”PRESENT”,”PRESIDENT”,”PRESS”,”PRESSURE”,”PRETTY”,”PREVENT”,”PREVIOUS”,”PREVIOUSLY”,”PRICE”,”PRIMARY”,”PRIME”,”PRINCIPLE”,”PRIORITY”,”PRISON”,”PRISONER”,”PRIVATE”,”PROBABLY”,”PROBLEM”,”PROCEDURE”,”PROCESS”,”PRODUCE”,”PRODUCT”,”PRODUCTION”,”PROFESSIONAL”,”PROFIT”,”PROGRAM”,”PROGRAMME”,”PROGRESS”,”PROJECT”,”PROMISE”,”PROMOTE”,”PROPER”,”PROPERLY”,”PROPERTY”,”PROPORTION”,”PROPOSE”,”PROPOSAL”,”PROSPECT”,”PROTECT”,”PROTECTION”,”PROVE”,”PROVIDE”,”PROVIDED”,”PROVISION”,”PUB”,”PUBLIC”,”PUBLICATION”,”PUBLISH”,”PULL”,”PUPIL”,”PURPOSE”,”PUSH”,”PUT”,”QUALITY”,”QUARTER”,”QUESTION”,”QUICK”,”QUICKLY”,”QUIET”,”QUITE”,”RACE”,”RADIO”,”RAILWAY”,”RAIN”,”RAISE”,”RANGE”,”RAPIDLY”,”RARE”,”RATE”,”RATHER”,”REACH”,”REACTION”,”READ”,”READER”,”READING”,”READY”,”REAL”,”REALISE”,”REALITY”,”REALIZE”,”REALLY”,”REASON”,”REASONABLE”,”RECALL”,”RECEIVE”,”RECENT”,”RECENTLY”,”RECOGNISE”,”RECOGNITION”,”RECOGNIZE”,”RECOMMEND”,”RECORD”,”RECOVER”,”RED”,”REDUCE”,”REDUCTION”,”REFER”,”REFERENCE”,”REFLECT”,”REFORM”,”REFUSE”,”REGARD”,”REGION”,”REGIONAL”,”REGULAR”,”REGULATION”,”REJECT”,”RELATE”,”RELATION”,”RELATIONSHIP”,”RELATIVE”,”RELATIVELY”,”RELEASE”,”RELEVANT”,”RELIEF”,”RELIGION”,”RELIGIOUS”,”RELY”,”REMAIN”,”REMEMBER”,”REMIND”,”REMOVE”,”REPEAT”,”REPLACE”,”REPLY”,”REPORT”,”REPRESENT”,”REPRESENTATION”,”REPRESENTATIVE”,”REQUEST”,”REQUIRE”,”REQUIREMENT”,”RESEARCH”,”RESOURCE”,”RESPECT”,”RESPOND”,”RESPONSE”,”RESPONSIBILITY”,”RESPONSIBLE”,”REST”,”RESTAURANT”,”RESULT”,”RETAIN”,”RETURN”,”REVEAL”,”REVENUE”,”REVIEW”,”REVOLUTION”,”RICH”,”RIDE”,”RIGHT”,”RING”,”RISE”,”RISK”,”RIVER”,”ROAD”,”ROCK”,”ROLE”,”ROLL”,”ROOF”,”ROOM”,”ROUND”,”ROUTE”,”ROW”,”ROYAL”,”RULE”,”RUN”,”RURAL”,”SAFE”,”SAFETY”,”SALE”,”SAME”,”SAMPLE”,”SATISFY”,”SAVE”,”SAY”,”SCALE”,”SCENE”,”SCHEME”,”SCHOOL”,”SCIENCE”,”SCIENTIFIC”,”SCIENTIST”,”SCORE”,”SCREEN”,”SEA”,”SEARCH”,”SEASON”,”SEAT”,”SECOND”,”SECONDARY”,”SECRETARY”,”SECTION”,”SECTOR”,”SECURE”,”SECURITY”,”SEE”,”SEEK”,”SEEM”,”SELECT”,”SELECTION”,”SELL”,”SEND”,”SENIOR”,”SENSE”,”SENTENCE”,”SEPARATE”,”SEQUENCE”,”SERIES”,”SERIOUS”,”SERIOUSLY”,”SERVANT”,”SERVE”,”SERVICE”,”SESSION”,”SET”,”SETTLE”,”SETTLEMENT”,”SEVERAL”,”SEVERE”,”SEX”,”SEXUAL”,”SHAKE”,”SHALL”,”SHAPE”,”SHARE”,”SHE”,”SHEET”,”SHIP”,”SHOE”,”SHOOT”,”SHOP”,”SHORT”,”SHOT”,”SHOULD”,”SHOULDER”,”SHOUT”,”SHOW”,”SHUT”,”SIDE”,”SIGHT”,”SIGN”,”SIGNAL”,”SIGNIFICANCE”,”SIGNIFICANT”,”SILENCE”,”SIMILAR”,”SIMPLE”,”SIMPLY”,”SINCE”,”SING”,”SINGLE”,”SIR”,”SISTER”,”SIT”,”SITE”,”SITUATION”,”SIZE”,”SKILL”,”SKIN”,”SKY”,”SLEEP”,”SLIGHTLY”,”SLIP”,”SLOW”,”SLOWLY”,”SMALL”,”SMILE”,”SO”,”SOCIAL”,”SOCIETY”,”SOFT”,”SOFTWARE”,”SOIL”,”SOLDIER”,”SOLICITOR”,”SOLUTION”,”SOME”,”SOMEBODY”,”SOMEONE”,”SOMETHING”,”SOMETIMES”,”SOMEWHAT”,”SOMEWHERE”,”SON”,”SONG”,”SOON”,”SORRY”,”SORT”,”SOUND”,”SOURCE”,”SOUTH”,”SOUTHERN”,”SPACE”,”SPEAK”,”SPEAKER”,”SPECIAL”,”SPECIES”,”SPECIFIC”,”SPEECH”,”SPEED”,”SPEND”,”SPIRIT”,”SPORT”,”SPOT”,”SPREAD”,”SPRING”,”STAFF”,”STAGE”,”STAND”,”STANDARD”,”STAR”,”START”,”STATE”,”STATEMENT”,”STATION”,”STATUS”,”STAY”,”STEAL”,”STEP”,”STICK”,”STILL”,”STOCK”,”STONE”,”STOP”,”STORE”,”STORY”,”STRAIGHT”,”STRANGE”,”STRATEGY”,”STREET”,”STRENGTH”,”STRIKE”,”STRONG”,”STRONGLY”,”STRUCTURE”,”STUDENT”,”STUDIO”,”STUDY”,”STUFF”,”STYLE”,”SUBJECT”,”SUBSTANTIAL”,”SUCCEED”,”SUCCESS”,”SUCCESSFUL”,”SUCH”,”SUDDENLY”,”SUFFER”,”SUFFICIENT”,”SUGGEST”,”SUGGESTION”,”SUITABLE”,”SUM”,”SUMMER”,”SUN”,”SUPPLY”,”SUPPORT”,”SUPPOSE”,”SURE”,”SURELY”,”SURFACE”,”SURPRISE”,”SURROUND”,”SURVEY”,”SURVIVE”,”SWITCH”,”SYSTEM”,”TABLE”,”TAKE”,”TALK”,”TALL”,”TAPE”,”TARGET”,”TASK”,”TAX”,”TEA”,”TEACH”,”TEACHER”,”TEACHING”,”TEAM”,”TEAR”,”TECHNICAL”,”TECHNIQUE”,”TECHNOLOGY”,”TELEPHONE”,”TELEVISION”,”TELL”,”TEMPERATURE”,”TEND”,”TERM”,”TERMS”,”TERRIBLE”,”TEST”,”TEXT”,”THAN”,”THANK”,”THANKS”,”THAT”,”THE”,”THEATRE”,”THEIR”,”THEM”,”THEME”,”THEMSELVES”,”THEN”,”THEORY”,”THERE”,”THEREFORE”,”THESE”,”THEY”,”THIN”,”THING”,”THINK”,”THIS”,”THOSE”,”THOUGH”,”THOUGHT”,”THREAT”,”THREATEN”,”THROUGH”,”THROUGHOUT”,”THROW”,”THUS”,”TICKET”,”TIME”,”TINY”,”TITLE”,”TO”,”TODAY”,”TOGETHER”,”TOMORROW”,”TONE”,”TONIGHT”,”TOO”,”TOOL”,”TOOTH”,”TOP”,”TOTAL”,”TOTALLY”,”TOUCH”,”TOUR”,”TOWARDS”,”TOWN”,”TRACK”,”TRADE”,”TRADITION”,”TRADITIONAL”,”TRAFFIC”,”TRAIN”,”TRAINING”,”TRANSFER”,”TRANSPORT”,”TRAVEL”,”TREAT”,”TREATMENT”,”TREATY”,”TREE”,”TREND”,”TRIAL”,”TRIP”,”TROOP”,”TROUBLE”,”TRUE”,”TRUST”,”TRUTH”,”TRY”,”TURN”,”TWICE”,”TYPE”,”TYPICAL”,”UNABLE”,”UNDER”,”UNDERSTAND”,”UNDERSTANDING”,”UNDERTAKE”,”UNEMPLOYMENT”,”UNFORTUNATELY”,”UNION”,”UNIT”,”UNITED”,”UNIVERSITY”,”UNLESS”,”UNLIKELY”,”UNTIL”,”UP”,”UPON”,”UPPER”,”URBAN”,”US”,”USE”,”USED”,”USEFUL”,”USER”,”USUAL”,”USUALLY”,”VALUE”,”VARIATION”,”VARIETY”,”VARIOUS”,”VARY”,”VAST”,”VEHICLE”,”VERSION”,”VERY”,”VIA”,”VICTIM”,”VICTORY”,”VIDEO”,”VIEW”,”VILLAGE”,”VIOLENCE”,”VISION”,”VISIT”,”VISITOR”,”VITAL”,”VOICE”,”VOLUME”,”VOTE”,”WAGE”,”WAIT”,”WALK”,”WALL”,”WANT”,”WAR”,”WARM”,”WARN”,”WASH”,”WATCH”,”WATER”,”WAVE”,”WAY”,”WE”,”WEAK”,”WEAPON”,”WEAR”,”WEATHER”,”WEEK”,”WEEKEND”,”WEIGHT”,”WELCOME”,”WELFARE”,”WELL”,”WEST”,”WESTERN”,”WHAT”,”WHATEVER”,”WHEN”,”WHERE”,”WHEREAS”,”WHETHER”,”WHICH”,”WHILE”,”WHILST”,”WHITE”,”WHO”,”WHOLE”,”WHOM”,”WHOSE”,”WHY”,”WIDE”,”WIDELY”,”WIFE”,”WILD”,”WILL”,”WIN”,”WIND”,”WINDOW”,”WINE”,”WING”,”WINNER”,”WINTER”,”WISH”,”WITH”,”WITHDRAW”,”WITHIN”,”WITHOUT”,”WOMAN”,”WONDER”,”WONDERFUL”,”WOOD”,”WORD”,”WORK”,”WORKER”,”WORKING”,”WORKS”,”WORLD”,”WORRY”,”WORTH”,”WOULD”,”WRITE”,”WRITER”,”WRITING”,”WRONG”,”YARD”,”YEAH”,”YEAR”,”YES”,”YESTERDAY”,”YET”,”YOU”,”YOUNG”,”YOUR”,”YOURSELF”,”YOUTH”)

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]

return tot

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)

## Python: Digit fifth Powers

Python: Digit Fifth Powers
Projecteuler Problem No.30

This was an easy task and I solve it on my mobile during a brain resting session 😜. I will just copy the problem statement as it is in ProjectEuler ..

Surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits:

1634 = 14 + 64 + 34 + 44
8208 = 84 + 24 + 04 + 84
9474 = 94 + 44 + 74 + 44

As 1 = 14 is not a sum it is not included.
The sum of these numbers is 1634 + 8208 + 9474 = 19316.
Find the sum of all the numbers that can be written as the sum of fifth powers of their digits.
Read it on Projecteuler

My Problem When I start solving the task i was wondering how far i should check the numbers? We can’t just go for ever, we must stop in some range. I search the web for such cases an i fond a post that clearing this with a formula. I will explain this in my way.

Finding the Upper Limits:
1. We are talking about Power (P=5)
2. We are using the (Base ten) numbers, so the highest digit is 9. Then:
3. 9 power 5 (9p5 = 59049)
4. The digits in (59049) are D=5.
5. Finally, The Formula is (D * 9p5), 5 * 59049 = 295245
6. So, The Upper Limits = 295245

According to the “Finding the Upper Limits” section, if we want to use the power (4) then the upper limit will be:
9p4 = 6561
6561 is a 4 digits
upper limit = 4 * 6561 = 26244

The Code: [The code is for power 4]

# Digit Fifth Powers
# Projecteuler Problem 30

num = 2
pdig = []
wefound = []
thesum = 0

while num < 26244 :

for each in str(num):

pdig.append(int(each) ** 4)

for x in pdig:

thesum = thesum + int(x)

if thesum == num:

wefound.append(num)

print(‘\n Number =’, num)

print(‘ Digits Power 4 =’, pdig)

print(‘ The Sum ‘, thesum)

num = num + 1

pdig = []

thesum = 0

thesum = 0

for x in wefound:

thesum = thesum + x

print(“\n The Numbers that the 4th power of its each digit = itself are: “,wefound)
print(” The Sum of the numbers is: “,thesum)

## Python: Self Power

Python: Self Powers
Problem No.48 on ProjectEuler

Another easy task in Problem No.48. We have to find the power of each number to itsefl in the range of 1 to 1000 and get the sum of all numbers, then to find the last ten digits of the series.

In this Task we will save the powers in a set name powers then we run a for loop
to get the sum of all elements in the lest, later will reade the last ten digits.

Enhancment In this problem I will not do any more than solving the problem, but if we want to enhance the project, we can ask the user to enter a range and we perform the function on that range of numbers.

The Code:

powers=[]

def get_power(num):

powers.append(num**num)

for x in range(1,1001):

get_power(x)

sum=0
for each in powers:

sum=sum+each

print(powers)
print (‘the sum is ‘,sum)