python 소수판별 중첩 for문 질문
조회수 1873회
정수 n 을 입력받아서 n초과 n*2 미만 중에서 소수를 리스트 L에 추가하려고 하는데요, 만약 n에 16을 입력하면 17까지만 실행하고 그 이상은 실행하지 않습니다. 제가 원하는건 17부터 31까지 돌려서 그 중에서 소수를 리스트에 추가하는건데요. 어디가 문제인건지 도저히 모르겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
불행히도 코드가 이미지로 올라와 있어서 실행시켜 보지 못했습니다만, 높은 확률로,
primeChk = True
초기화 작업은for i
바로 아래for j
등장 직전 구간에서 수행돼야 할 겁니다. 안 그러면, 짐작컨대는, 단 한 번primeChk = False
재할당이 발생한 이후로primeChk
는 두 번 다시 초기화 및 재사용이 되지 않아서, 어떤i
도 더 이상append()
되지 않을 겁니다. 변수명을is_i_prime_number
같은 걸로 바꿔서 생각해 보면 특히 더욱 그렇습니다.아니면 할 수 없는데 한번 해보시고, 그래도 안 되면 코드를 텍스트로 복사해서 다시 올려 주세요.
댓글 입력