Depurando um programa Python Prime Number

Eu escrevi o código para um gerador de números primos do Python, para gerar os 100 primeiros números primos. Mas, de alguma forma, recebo números não primos como 22, 25 etc. na minha saída. Eu verifiquei várias vezes por horas agora e ainda não consigo descobrir onde errei ... Por favor, ajude!

Aqui está o meu código:

from math import sqrt

y=[2]
x=3

while len(y)!=100:
   for i in range (2,int(round(sqrt(x)+1))):
     if x%i==0:
        x=x+1

     else:
        y.append(x)
        x=x+1
        break

print(y)

questionAnswers(5)

yourAnswerToTheQuestion