Encontrar el enésimo número primo usando Python

Cuando ejecuto este código, incluso solo contando hasta el décimo número primo (en lugar de 1000) obtengo una salida sesgada / extraída: todos los títulos "no primos" para mi variable is_composite, mi test_num me da números primos y compuestos, y mi cuenta principal está apagada

Algunas de las respuestas de que los desarrolladores han compartido funciones de uso y la importación matemática, es algo que aún no hemos cubierto. No estoy tratando de obtener la respuesta más eficiente; Solo estoy tratando de escribir un código de Python factible para comprender los conceptos básicos del bucle.

  # test a prime by diving number by previous sequence of number(s) (% == 0).  Do this by
  # counting up from 1 all the way to 1000.

test_num = 2 #these are the numbers that are being tested for primality
is_composite = 'not prime' # will be counted by prime_count
prime_count = 0 #count the number of primes


while (prime_count<10): #counts number primes and make sures that loop stops after the 1000th prime (here: I am just running it to the tenth for quick testing)


 test_num = test_num + 1   # starts with two, tested for primality and counted if so
 x = test_num - 1  #denominator for prime equation

 while (x>2):   
  if test_num%(x) == 0:
   is_composite = 'not prime'
  else: 
   prime_count = prime_count + 1 
  x = x - 1 


  print is_composite
  print test_num
  print prime_count 

Respuestas a la pregunta(4)

Su respuesta a la pregunta