Tohle vypadá divně:
if num % element == 0: # already found primes scan
break
else:
list_of_primes.append(num)
Nepřidává to náhodou do toho seznamu všechna čísla a ne pouze prvočísla?