인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

sungeun kim님의 프로필 이미지
sungeun kim

작성한 질문수

남박사의 파이썬 기초부터 실전 100% 활용

사용자가 입력한 내용 입력받기

소수 구하기 질문입니다

해결된 질문

작성

·

213

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

sungeun kim님의 프로필 이미지
sungeun kim
질문자

답변 감사드립니다!

sungeun kim님의 프로필 이미지
sungeun kim

작성한 질문수

질문하기