Я делаю программу, которая находит простые числа. Пользователю предлагается указать число, большее 2 (n), затем программа делает список, начинающийся с 2 и заканчивающийся номером пользователя (n). В моей программе я должен установить переменную с именем current to 2, а затем прокрутить список, ищущий кратность текущего и удаляя их. В конце цикла я добавляю 1 к текущему, и петли программы снова делают то же самое, что и раньше. Список печатается каждый раз. Моя программа работает правильно (я тестирую, используя номер 10 как n), когда она доходит до конца 10, остается, хотя она должна быть удалена. Пожалуйста помоги.
Python программа для поиска простых чисел (3.5)
Вот мой код:
while True:
global n
n = int (input ("Please enter a number larger than 2. "))
if n > 2:
break
else:
print ("Your number is not larger than 2.")
continue
current = 2
myList = list (range (2, n + 1))
while current < n:
if current == []:
break
for i in reversed (range (len(myList)-1)):
if myList[i] % current == 0 and myList[i] != current and (myList[i]/current).is_integer(): myList.pop(i)
print (myList)
current = current + 1
Это похоже на дико запутанный способ найти простое число. – DejaVuSansMono
@DejaVuSansMono Это довольно распространенная подсказка домашней работы. – TemporalWolf
https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes –