У вас есть другое условие внутри цикла. В любой момент времени он будет проверять только одно значение ...
Изменение цикла for для вывода числа, которое он проверяет:
for i in range (2, number):
print (i)
if number % i == 0:
print ("No")
break
else:
print ("Yes")
распечатка (длячисло = 15):
2
Yes
3
No
Как вы знаете, работает, если оно печатает число «Нет» - 1 раз
Чтобы немного изменить то, что вы сделали, мы можем просто изменить его на:
flag = False
for i in range (2, number):
if number % i == 0:
print ("No")
flag = True
break
if (!flag)
print("Yes")
Все, что это делает, это выдвигает оператор печати за пределы цикла (чтобы число было простым, оно должно быть не делимым на все числа, меньшие его). Этот флаг гарантирует, что вы печатаете только True или False (вы не хотите распечатывать оба)