최종 제출 코드
number = int(input())
numbers = list(input().split())
prime = 0
for j in range(number):
nums = int(numbers[j])
count = 0
# for i in range(2, nums):
for i in range(1, nums):
if nums % i == 0:
count += 1
# if count==0:
if count==1:
prime +=1
print(prime)
for문에 들어가지 못해도 상관없음range(2, nums):로 작성 & 소수인지 검사하는 조건물을 if count==0:으로 작성range(2, nums) 범위에 들어가지 않기 때문에 나누어 떨어지는 수가 있는지 검사하는 조건문을 실행하지 못함count==0에 따라 소수로 간주하게 됨처음 제출한 코드
number = int(input())
numbers = list(input().split())
prime = 0
for j in range(number):
nums = int(numbers)
for i in range(2, nums):
if nums % i == 0:
break
prime += 1
print(prime)
<오류>
break가 일어나지 않으면 prime 변수는 두 번째 for문을 돌 때마다 증가함prime += 1을 바깥 for문으로 꺼내도 prime 변수를 증가시키는 조건문이 없으면 for문을 돌 때마다 증가시키는 것은 동일다른 사람이 작성한 코드
mylist = [i for i in range(2, 1000)]
for i in range(2, 1000):
for j in range(2, 1000):
if i*j in mylist:
mylist.remove(i*j)
a = int(input())
q = map(int, input().split())
q = [i for i in q if i in mylist]
print(len(q))
입력조건을 활용해 범위에 해당하는 값 목록을 리스트로 만들어 해결
❓ mylist.remove(i*j)을 통해 요소를 삭제하면 index는 삭제된 요소의 뒤에 있던 요소부터 1씩 앞당겨짐