-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
소수 구하기 질문입니다
20.06.24 12:27 작성 조회수 159
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)
로 따로 써보면 아무것도 출력되지가 않습니다 ㅠㅠ
답변을 작성해보세요.
1
남박사
지식공유자2020.06.24
그렇습니다. 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
답변 2