Не могу понять где ошибка. Задача найти количество простых чисел в списке. Python
l = [12, 13, 15, 32, 42, 55,17, 75, 122, 132, 150, 180, 200]
k=0
elem=l[i]
for i in range (elem):
Pr=True
for j in range (1, int((elem)/2)-1):
if ((elem)%j) == 0:
Pr=False
if Pr==True:
k+=1
print('Простое')
else:
k=0
('Не простое')
print(k)
Ответы (2 шт):
Автор решения: ПИТОНИСТ версия-3-8
→ Ссылка
Код у вас странный до такой степени...
Перепишите лучше:
l = [12, 13, 15, 32, 42, 55,17, 75, 122, 132, 150, 180, 200]
k=0
for i in l:
t=False
for x in range(2, int(i/2)+1):
if i%x == 0: t=True
if not t: k+=1
print(k)
В данном случае вывод 2, что верно (простые числа 13 и 17).
Автор решения: GrAnd
→ Ссылка
Вот ваш код. Вроде же ничего сложного, если просто внимательность включить.
l = [12, 13, 15, 32, 42, 55, 17, 75, 122, 132, 150, 180, 200]
k=0
for elem in l:
Pr=True
for j in range (2, elem//2+1):
if ((elem)%j) == 0:
Pr=False
break
if Pr==True:
k+=1
print(elem, '- простое')
else:
print(elem, '- не простое')
print('Простых чисел:', k)