My calculus book says that with: $$a=x^{x^{x^{.^{.^{.}}}}}$$ (exponent tower goes on forever), then: $$x=a^\frac{1}{a}$$
I tried it out with $a=3$ so $x=3^\frac{1}{3}$ and then ran a python program to test it. I did: $$(3^\frac{1}{3})^{(3^\frac{1}{3})^{(3^\frac{1}{3})^{.^{.^{.}}}}}$$
Between 500 runs and 10.000 runs the answer stayed: 2.4780526802882967
Maybe I don't appreciate enough what infinity means, but why isn't it closer to $3$ after 10.000 runs? Is the answer $x=a^\frac{1}{a}$ really correct? Will this really finally be 3 if it would run infinitely?
For reference, this was the little python program:
x=3**(1/3)
y=x
for i in range(0,100000):
y=x**y
print(y)

You are confusing the direct and converse implication.
The book doesn't say that if we set $x=a^{\frac{1}{a}}$ the sequence converges.
It says that if the series converges to $b$, then you have $x=b^{\frac{1}{b}}$, where $b$ is the limit.
If you apply the theorem in this case, it tells you that your $x$ is equal to the limit to the limit, not that
If everything worked well in your programming, this means that you must have $$3^{\frac{1}{3}}= 2.4780526802882967^{\frac{1}{ 2.4780526802882967}} $$
Note that in general, a number $x$ could be written in more than one way as $a^\frac{1}{a}$, but the tower can only converge to one $a$. This means that if you start with another one, the limit will be different.