코딩 스쿨에 오신것을 환영합니다~~

질의응답 게시판

 
M-00015.py 질문 있습니다..
이 * 윤 | 2021-01-22
▷ 첨부파일 : M-00015.py (196 Byte)      [저장]

count=int(input('수를 입력해주세요:'))

for a in range(2, count+1):
    prime_yes = True
    for i in range(2,a):
        if not a % 2 == 0:
            print(a)
왜 이 상태로 프로그램을 돌리면 특정 숫자가 많이 나오는지 잘 모르겠습니다. 그리고 빈칸 내용을 모르겠습니다.. 도움을 주시면 감사하겠습니다.

  • 운 * 자
  • 2021-01-23 (12:28)
안녕하세요.

잘 하셨습니다.

if문에서 해당 소수를 출력하고 break문을 넣으면 안에 있는 for 루프를 빠져나가서

다음 수를 테스트하게 됩니다. break 만 넣으면 완벽합니다.


count=int(input('수를 입력해주세요:'))

for a in range(2, count+1):
    prime_yes = True
    for i in range(2,a):
        if not a % 2 == 0:
            print(a)
            break


다음과 같이 해도 같은 결과를 얻을 수 있습니다.

count = int(input('수를 입력해주세요 : '))

for a in range(2, count+1) : 
      prime_yes = True 
      for i in range(2, a) : 
         if a % i == 0 : 
               prime_yes = False 
               break  

      if (prime_yes) : 
         print(a) 

  • 이 * 윤
  • 2021-01-24 (19:48)
감사합니다!