In the second line you are converting the contents of the variable idade
to integer and discarding the result, then when you check you think you are already an integer, but it is still a string . I guess you wanted to keep this somewhere. And I imagine you think that just by doing the operation on the variable it changes the value of it, but this does not happen, you just manipulate the value of it.
But the most correct would be to create another variable since they are different types. And the error caused shows why it is better not to reuse variable with different types. In Python it would work to play on the same variable, but it is not cool to do this. The good part is that you do not even have to do this, you can read the data and convert at once and only save the converted value, like this:
idade = int(input("Qual a sua idade? "))
if idade >= 45:
print("Tá velho cara, já era!")
else:
print("A vida está só começando rapaz!")
See running on ideone . And no Coding Ground . Also I put GitHub for future reference .
This code can still fail, can be written in another way, but basically, to start learning, this is it.