I was wondering if there was a way to make it more compact.
Here is the first version I made:
primes = []
for i in range(2,1000) :
for j in range(2,i):
if i%j == 0 :break
else: primes.append(i) if sum([int(k) for k in str(i)]) % 2 == 1 else None
print(primes)
Here is the second version
def is_prime(n):return 0 not in [n%i for i in range(2,n//2+1)]
primes2 = [i for i in range(2,1000) if is_prime(i)]
print([ i for i in primes2 if sum([int(k) for k in str(i)]) % 2 == 1])
Is there a way to make it all fit in a single line