Nie, nie coś takiego (no chyba, że źle interpretuję wcięcia przez Twoje fatalne wklejenie kodu). O ile dobrze rozumiem, ten program nigdy nie wyjdzie z pierwszej pętli (no chyba, że napotka EOF i zgłosi wyjątek EOFError). Chodziło mi bardziej o coś takiego:
# Pierwsza pętla żeby wczytać liczbę testów.
# Jest to pętla "nieskończona", z której wyjdziemy dopiero wtedy,
# gdy wykonanie int(input()) nie zgłosi wyjątku ValueError.
# Aby wymusić wyjście z pętli, używamy instrukcji break.
while 1:
try:
t = int(input())
break
except ValueError:
continue
while t > 0:
# W tym przypadku działa to tak, że jeśli napotkamy wyjątek ValueError,
# to przejdziemy do kolejnego wykonania pętli nie zmniejszając
# wartości zmiennej t
try:
number = int(input())
except ValueError:
continue
t = t - 1
Jak pewnie sam zauważysz, takie podejście nadal będzie skutkowało przekroczeniem limitu czasu. Python nie należy do najszybszych języków, więc czasami trzeba pogłówkować żeby przyspieszyć program. Najczęściej pierwszym krokiem przy przyspieszaniu programu jest optymalizacja samego algorytmu. Na przykład spróbuj odpowiedzieć sobie na pytanie, czy dla każdej liczby z wejścia musisz przechodzić całą listę pow5? Jak się zachowa Twój program, gdy w pętli for x in pow5:
wartość zmiennej x będzie większa od wartości zmiennej number?
Pomimo tej skromnej optymalizacji nadal będziesz otrzymywał TLE. W tym momencie chyba nie pozostaje nic innego oprócz stwierdzenia, że to zadanie nie jest przyjazne dla Pythonowców (przez wybrany limit czasu na wykonanie programu). Jednak istnieje kilka trików, które pomogą uzyskać AC.
Jedną z możliwości jest wysłanie kodu jako PyPy. Jako, że na SPOJu nie ma jeszcze PyPy w wersji 3+, niestety będzie konieczne przepisanie kodu na Pythona 2. W tym przypadku wiąże się to jedynie z zamianą input() na raw_input().
Jeszcze inną możliwością jest przyspieszenie wczytywania i wypisywania danych (tzw. fast I/O). Jednym ze sposobów jest korzystanie z sys.stdin.readline() do wczytywania linii, oraz sys.stdout.write() do wypisywania tekstu. W praktyce prezentuje się to tak:
from sys import stdin, stdout
tekst = stdin.readline()
stdout.write(tekst + '\n')
# Tutaj standardowo warto pomyśleć o wyłapywaniu wyjątku ValueError
liczba = int(stdin.readline())
# stdout.write przyjmuje stringa jako parametr, więc konwertujemy liczbę
stdout.write(str(liczba) + '\n')
PS
Python 2.x i Python 3+ mają inne zachowanie jeśli chodzi o operator dzielenia (/). Jeśli zastosujesz zmiany które zaproponowałem, i nadal będziesz korzystał z Pythona 3+, to zauważysz, że Twój kod zwraca WA. Dzieje się tak, ponieważ w Pythonie 3+ dzielenie na liczbach całkowitych zwraca liczbę zmiennoprzecinkową zamiast “obcinać” to co występuje po przecinku, tak jak to się dzieje w Pythonie 2.x. W niektórych przypadkach będzie to prowadziło do błędnej odpowiedzi. Aby uzyskać dzielenie “obcinające” w Pythonie 3+, możesz skorzystać z operatora //