Why this program is ignoring this part??
Your code is a bit confusing, but I think I see the issue. Line 158 and 159 set fp to '1'. Then, line 167 sets fp to c, which evaluates to "Charmander" from line 161.
From there, your immediate problem is that you didn't capitalize Charmander in your IF statement, causing them to never match:
@ROCKINGRAYQUAZA Yes, but the lowercase of '1' is '1'. Your statement asks to enter the number, not the name. If you follow the lines I highlighted, you will see that you eventually change this input back to "Charmander". Your IF statement on 198 is looking for "charmander" (lower case). If you change this to uppercase, it should work.
@ROCKINGRAYQUAZA fp.lower() would have worked if the input to your question was the name, but you ask to enter the number. So, a number is assigned to fp (either 1, 2, or 3). Then you called fp.lower(), which will convert whatever fp is into lowercase. Since fp is a number, there is nothing to convert.
From there, you change the value of fp again:
line 167 (before your edits) set fp = c, and c = "Charmander" with a capital C, from line 161 (before your edits). All of this bypassed what you thought you were lowering from the fp.lower() command. That brings you back to the IF statement where it is was looking for the lower case charmander, when you had already changed fp back into the uppercase Charmander.