Найти все числа у которых три делителя в диапазоне от 2 до 50

Не могу найти все числа у которых три делителя в диапазоне от 2 до 50. Что делаю не так?
Пробовала двумя разными вариантами. Когда делаю первым способом, vscode находит только два делителя 1 и 50, вторым способом вообще ничего не работает.

def f(n):
    lst = []
    for i in range(1, int(n**0.5)):
        if n % i == 0:
            lst.append(i)
            lst.append(n // 1)
            return lst
        
print(f(50))
for i in range(2, 50+1):
    a = []
    for j in range(2, i):
        if i % j == 0:
            a.append(j)
if len(a) == 3:
    print(a)

Ответы (0 шт):