Здравствуйте, извини за столь тривиальный вопрос.
Изучаю Python около недели, придумал для себя такую задачу "Найти все простые числа от 2 до n"
Где n - целое, положительное число, вводимое пользователем.
И написал следующий код:
x = int(input()) #Получаем число от пользователя
list_int = [i for i in range(2, (x + 1))] #Генерируем список от 2 до x
list_prime = is_prime(list_int)
print(list_prime)
def is_prime(list_int):
list_prime = []
list_div = [i for i in range(2, 10)] #Делители
flag = True #Флаг определяющий отношение числа к простому
for i in range(len(list_int)):
for j in range(len(list_div)):
if(list_int[i] % list_div[j] == 0 and list_int[i] != list_div[j]):
flag = False
if(flag == True):
list_prime.append(list_int[i])
else:
flag = True
return list_prime
Мой алгоритм сильно ужасен? Как можно было бы написать лучше?