My prime number finding code is trying all numbers so it will print the prime number a few times. Eg: 5/2 , 5/3, 5/4. So it will print 5 for 3 times.
def prime_number_generator(num):
for n in range (1,num):
for prime in range (2,n):
if (n%prime) ==0:
break
else:
yield n
number = input('Please input the number:')
if number.isnumeric():
num = int(number)
if num <= 2:
print('Number must be greater than 2')
else:
for prime in prime_number_generator(num):
print(prime, end=', ')
else:
print('Must be a positive integer')
Output with input as 27:
3, 5, 5, 5, 7, 7, 7, 7, 7, 9, 11, 11, 11, 11, 11, 11,
11, 11, 11, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
15, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 21, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 25, 25, 25,