Jeśli chcesz to robić na piechotę, to możesz wczytać dane jako stringa przejrzeć wszystkie jego znaki, jeśli któryś nie będzie cyfrą, to znaczy, że nie podano liczby.
Możesz też użyć konstrukcji try..except i złapać wyjątek ValueError, który zostanie rzucony, gdy int() dostanie niepoprawny parametr (niepoprawnego stringa).
Jeśli nie jesteś zaznajomiony z wyjątkami, to w pythonie...warto się z nimi zapoznać :)
import datetime
now = datetime.datetime.now()
print("Hej, przedstaw mi się :)\n")
name = input("Jak masz na imię? ")
try:
age = int(input("Dobra {}, a ile masz lat? ".format(name)))
if age == 100:
print("Masz 100 lat!! Gratulacje! Spróbuj ponownie.")
elif age < 0:
print("Ojć, podałeś niewsłaściwą liczbę. Spróbuj ponownie.")
elif age > 100:
print("Masz ponad 100 lat!! Gratulacje! Spróbuj ponownie.")
else:
result = ((100 - age) + now.year)
print()
print("Słuchaj {}, w {} roku będziesz mieć już 100 lat!!".format(name, result))
except ValueError:
print("Niepoprawnie podana liczba!")