• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

소수 구하기 질문입니다

20.06.24 12:27 작성 조회수 139

1

while True:
    num = input("2이상의 숫자를 입력하세요 ")
    if not num.isnumeric():
        continue
    num = int(num)
    if num < 2:
        continue
    break

isprime = True
for n in range(2,num):
    if num % n ==0:
        isprime = False
        break

if isprime:
    print("소수 입니다.")
else:
    print("소수가 아닙니다. ")

위 코드에서 input에 2를 넣으면 "소수"라고 나옵니다.

num이 2를 받고

for n in range(2,num)에서 n에 2부터 1까지 들어가는 것인가요?

for x in range(2,2):
    print(x)

로 따로 써보면 아무것도 출력되지가 않습니다 ㅠㅠ

답변 2

·

답변을 작성해보세요.

1

그렇습니다. 2를 입력하면 처리하는 구문이 빠져있네요... 위의 예제 구문에 num < 2 를 num <= 2 로 변경하시면 문제 없이 동작될 수 있습니다.

for x in range(2, 2) 는 2부터 2까지 반복하며 그 반복되는 값이 x 에 들어가는건데 2부터 2까지는 증가값이 없기때문에 당연히 출력되는 내용이 없는게 정상입니다. for x in range() 는range() 범위 만큼 x를 반복한다는 의미 입니다. for x in range(1, 10) 에서 x를 출력해보시면 아실 수 있을꺼라 생각됩니다.

0

답변 감사드립니다!