파이썬 이프로그램이 어떤 프로그램인가요?

조회수 420회
#!/usr/bin/env python

num_str = raw_input('Enter a number: ')

num_num = int(num_str)

non_fac_list = range(1, num_num+1)
print "BEFORE: ", repr(non_fac_list)

i = 0

while i < len(non_fac_list):
    if num_num % non_fac_list[i] == 0:
        del non_fac_list[i]
    i = i + 1

print "AFTER: ", repr(non_fac_list)

어떤 프로그램일까요? 이 프로그램에 오류가 있나요?

  • 질문자님은 이 스크립트를 실행해본 적이 있으신 건가요? 엽토군 2020.4.21 08:49
  • 아버지 세상은 넓고... 편집요청빌런 2020.4.21 08:53

1 답변

  • 이런 질문은 무당집에 가서 무당 시험하는 질문같습니다. (내가 왜 왔는지 맞춰보라는) 최소한 자기가 궁금한 것이 무엇인지는 설명하면서 질문을 합시다.

    아마도 입력한 숫자 이하의 자연수 중에서, 약수가 아닌 수만 골라내는 것 같고요.

    몇 번 실행해보면 알겠지만, 좀 잘못된 부분이 있죠.

    while i < len(non_fac_list):
        if num_num % non_fac_list[i] == 0:
            del non_fac_list[i]
            continue
        i = i + 1
    

    약수를 제거한 후에는 i 를 증가시키지 않아야 합니다. 현재는 약수 다음에 있는 수는 검사하지 않고, 넘어가게 되어 있습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)