-
for i in range(2, 2):error 2021. 3. 12. 00:11
input = 20 # 소수는 자기 자신과 1외에는 아무것도 나눌 수 없다. # 주어진 자연수 N이 소수이기 위한 필요 충분 조건은 # N이 N의 제곱근보다 크지 않은 어떤 소수로도 나눠지지 않는다. # 수가 수를 나누면 몫이 발생하는데, 몫과 나누는 수 둘 중 하나는 반드시 N 제곱근 이하 def find_prime_list_under_number(number): prime_list = [] for n in range(2, number + 1): # n = 2 ~ 20 # print("n: ", n) for i in range(2, n): # i = 2, n = 2,3 / n자기 자신을 자기 보다 더 작은 수들로 나누겠다. print("프린트가 나오면 n이 2인데, 포문 안에 들어온 것.") if n % i == 0: # print("i: ", i) # print("n%i: ", n%i) break else: prime_list.append(n) return prime_list result = find_prime_list_under_number(input) print(result)
for i in range(2, n):
이 부분에서 n이 2일 때, (i도 2)
if 문 안에 들어가면 2 % 2 == 0이 충족되어서 break문을 맞는데, 왜 prime_list에 2가 들어가는지 이해를 못해서
중간 중간 print찍어서 확인해보다가 여기에 시간을 많이 써서, 팀원 분께 도움 요청했다.
for i in range(2, 2):
이렇게 되면, 범위에 아예 해당이 안돼서 for문 안으로 들어갈 수 없다.
... 그러네... 범위가 말이 안되네. 저게 왜 지금 보이는 건지...
뭐... 오늘 실수 했으니까 다음번엔 더 잘 보이겠지.