Rescusion limit'e ulaşıyorsun.
Şöyle yazarsan olur.
Ancak factoriyel hesaplamak zor olduğu için bu teknik büyük sayılar için kullanışlı değil.(5-6 haneli sayılarda denediğinde göreceksin

)
Kod:
#!/usr/bin/env python
def factor(x):
ret = 1
while x > 0:
ret = ret * x
x = x - 1
return ret
def checkPrime(x):
if (factor(x - 1) % x) == (x - 1):
print x,"is a prime number"
else:
print x,"is not a prime number"
def main():
checkPrime(6029)
if __name__ == "__main__":
main()