Every answer this site's console collects -- ASK in pseudocode, input() in Python, prompt() in JavaScript -- comes back as text, no matter what you typed. Type 25 into the Input box and the program receives the text "25", not the number 25. The Input, Output & Comments challenges avoid this trap by only ever joining answers into sentences, never doing arithmetic with them -- which is worth noticing, because the moment a program needs to add, compare, or otherwise do math with an answer, that text has to become a number on purpose first.

Your code Pseudocode
Output

Press Run to see what your code does.

That prints "255", not 30 -- the + saw a piece of text on one side and joined rather than added, exactly the same rule that makes SHOW "Hello, " + playerName work as a greeting. Pseudocode doesn't currently have a text-to-number conversion, which is exactly why none of its challenges do arithmetic on an ASK answer yet. Python and JavaScript both do have one, and both need you to reach for it explicitly -- int(input(...)) in Python, or Number(prompt(...)) in JavaScript -- rather than assuming the conversion already happened.

Your code Python
Output

Press Run to see what your code does.

That one doesn't quietly produce a wrong number -- it crashes with a TypeError, because Python refuses to add text and a number at all. Wrapping the text in int() first, int(age) + 5, is the one-line fix. Between the two languages, this is a case where the wrong answer is more dangerous in pseudocode and JavaScript than in Python: a silent 255 can slip past a quick glance at the output in a way a crash cannot.

Everything above runs in this page, on your own machine. There is more of it on the practice pages.