티스토리 뷰

pythonCode/myCode

기초_약수 찾기

이나기꺼 2022. 5. 18. 12:03

머리를 식힐 겸 가벼운 주제로 코딩 공부를 하고 있습니다.

약수를 찾는 파이썬 코드입니다.

먼저, 제가 학습 중인 약수를 찾는 예제 코드입니다.

 

1. 숫자를 입력받습니다. 입력받은 숫자를 정수형(int())로 변환합니다.

2. 순환문을 통해 1부터 num 까지 숫자를 나누어 나머지가 0인 값들을 출력합니다.

   range(start, end) : start는 포함되고 end는 포함되지 않습니다. end-1까지 진행됩니다.

   1) range(6) : 0, 1, 2, 3, 4, 5 를 의미합니다.

   2) range(1, 6) : 1, 2, 3, 4, 5 를 의미합니다.

   3) range(1, 6, 2) : 1, 3, 5 를 의미합니다. 2는 간격입니다.

 

<예제 코드>

num = int(input("Please enter any integer to find divisors = "))

print("The Divisors of the Number = ")

for i in range(1, num+1):
    if num % i == 0:
        print(i)

 

3. 순환문에서 반복을 줄일 수 있는 방법을 생각해봤습니다. 순환을 1부터 num까지 하지 않고, 1부터 num/2까지 하면 될 것 같습니다.

 

<작성 코드>

# jjang

num = int(input("Please enter any integer to find divisors = "))

print("The Divisors of the Number = ")

for i in range(1, int(num/2)+1):
    if num % i == 0:
        print(i)

print(num)

 

4. 결과를 그냥 출력하는 것이 아니라 리스트로 만들어 출력해 봅니다. append 메소드는 리스트에 항목을 추가하는 함수입니다.

 

<작성 코드>

# jjang

num = int(input("Please enter any integer to find divisors = "))

print("The Divisors of the Number = ")

divisors = []

for i in range(1, int(num/2)+1):
    if num % i == 0:
        divisors.append(i)

divisors.append(num)

print(divisors)

 

<결과> 

The Divisors of the Number = 30

[1, 2, 3, 5, 6, 10, 15, 30]

 

학습을 하면서 코드를 그대로만 실행하지 않고, 자신이 생각하는 방법을 구현해보는 것도 코딩 학습에 도움이 되리라 생각합니다.

그리고 수학적인 생각을 조금만 한다면 좀더 효율적인 코드로 작성할 수 있습니다.

앞으로도 코드를 보면서 제가 생각하는 다른 방법이 있으면 글을 작성하고자 합니다.

 

'pythonCode > myCode' 카테고리의 다른 글

multi-thread, multi-process 속도 차이  (0) 2025.04.06
ABC-XYZ Analysis  (5) 2024.09.12
파이썬으로 JSON 데이터 다루기  (0) 2024.08.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함