320x100
# 소수 코드 분석
inputNum = 5
list_prime = []
# 2부터 여기 코드에서는 inputNum에 5를 지정해줬으니 범위 5까지
for number in range(2, inputNum+1):
# 두번째 for문이 끝나고 첫번째 for문으로 올라올때
# flag = False였던 값도 다시 초기화 된다.
# 때문에 만약에 반복문 "안에서"변화된 값으로 고정 원하는 것은
# 해당 반복문 밖으로 빼놓고 써야한다.
flag = True
# 첫번째로는 첫번째 for문에서 2가 떨어졌기에 2부터 1까지의 범위가 설정된다.
# 그래서인가 바로 밑의 if 문까지 내려가지 않고 생략하게된다. (-1꼴이 되기 때문인듯)
# 따라서 두번째 for문의 if는 생략하고 첫번째 for문 안에 있는 if로 가게된다.
for n in range(2, number):
# 두번째 for문에서 설정값이 5라면 2부터 4까지 바로 밑의 if에서 False가 나오면
# 밑으로 바로 떨어지는게 아니라, continue 기능처럼 4까지 올려보낸다.
if number % n ==0:
# 이게 있어줌으로써 바로 위의 if문에서 True가 떨어지면
# 첫번째 for문에 귀속되는 if문에 값이 안들어가도록 방지해준다.
flag = False
break
if flag:
list_prime.append(number)
print(list_prime)
추가. 약수, 소수 반복문 코드
inputNum = int(input('1보다 큰 정수 입력: '))
prime = []
nomal = []
# 약수
for i in range(1, inputNum+1):
if inputNum % i == 0:
nomal.append(i)
# 소수
for a in range(2, inputNum+1):
flag = True
for b in range(2, a):
if a % b == 0:
flag = False
break
if flag:
prime.append(a)
print(f'약수: {nomal}')
print(f'소수: {prime}')
300x250
'개발일지 > Python' 카테고리의 다른 글
파이썬 100명의 난수로 각 계층 방문자수 및 총 수입금액 계산기 (0) | 2022.05.11 |
---|---|
파이썬 짝수, 홀수 반복문 코드 (0) | 2022.05.11 |
파이썬 딕셔너리와 get함수. 그리고 키값으로 출력방법 (0) | 2022.05.11 |
[복기] 파이썬 튜플 가장 적은 반, 가장 큰 반 필터 (0) | 2022.05.11 |
파이썬 튜플 반복문 추가 (0) | 2022.05.11 |