Поиск N первых простых чисел. Код ушёл в бесконечный цикл
я написала код по задаче:
Напишите программу, которая выводит на экран первые N простых чисел.
Входные данные
Входная строка содержит число N .
Выходные данные
Программа должна вывести первые N простых чисел в одной строке,
разделив их пробелом.
Примеры
входные данные
10
выходные данные
2 3 5 7 11 13 17 19 23 29
Код:
def is_prime(n):
q=2
while q*q<=n:
if n%q==0:
return False
q+=1
return True
n=int(input())
ans=[2]
q=3
while len(ans)<n:
if is_prime(q):
ans.append(q)
q+=2
print(*ans)
Но при вводе данных в консоль ввод не заканчивается, а код работает слишком долго, не знаю, что делать, помогите пожалуйста!!!
Источник: Stack Overflow на русском