Я делаю быструю программу, которая будет запрашивать у пользователя номеров, а затем выводить все простые числа до этого числа:Печати простых чисел до ввода пользователя
n=int(input("Enter a number: "))
a=2
if n<=1:
n=int(input("Enter another number: "))
while a<n:
for i in range(2,n):
if a%i==0:
break
else:
print (a)
break
a=a+1
Проблемы я имею что он не распечатает 2
. Например, если я использую 20
как мой n
значение, он будет печатать:
Enter a number: 20
3
5
7
9
11
13
15
17
19
У вас есть другие проблемы, 9 и 15 не являются первыми. – Andrey
В вашем цикле 'for' вы используете' break' для '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ', который будет выполняться только один раз (' for i = 2'). Короче говоря, вы проверяете divisiblity на '2', который не будет удовлетворен нечетными числами. Вот почему вы получаете все нечетные числа. –