IT’s Portfolio

[Python] 알고리즘 - 3과 5의 배수 합하기 본문

Development Study/Python

[Python] 알고리즘 - 3과 5의 배수 합하기

f1r3_r41n 2020. 6. 4. 22:41
728x90
반응형

** 점프 투 파이썬 **

 

입력값 : 1~999 사이의 정수

출력값 : 3과 5의 배수의 총 합

 

Hint!

① 3의 배수와 5의 배수는 나머지 연산자로 찾을 수 있다.

② 3과 5의 공배수 처리를 생각해야 한다.

 

# 3의 배수
mul_3 = []

# 5의 배수
mul_5 = []

# 3과 5의 공배수
mul_3_and_5 = []

# 합
sum = 0

# 입력값의 조건이 충족되지 않았을 때 처음부터 다시 돌아갈 반복문
while True:
    # 입력값이 정수가 아닐 때를 대비한 try, except문
    try:
        # 1~999 사이의 '정수'를 받는 input 메서드
        num1 = int(input("1~999 사이의 정수를 입력하세요.\n>>> "))
        
        # num1이 1~999 사이일 때
        if num1 >= 1 and num1 <= 999:
            for i in range(1, num1+1):
                # i가 3과 5의 공배수일 때 sum에 더해주고 continue
                if i%3 == 0 and i%5 == 0:
                    mul_3_and_5.append(i)
                    sum = sum + i
                    continue
                    
                # i가 3의 배수일 때 sum에 더해주기
                if i%3 == 0:
                    mul_3.append(i)
                    sum = sum + i
                # i가 5의 배수일 때 sum에 더해주기
                if i%5 == 0:
                    mul_5.append(i)
                    sum = sum + i
            
            # sum이 0일 때 나올 출력문
            if sum == 0:
                print("3과 5의 배수가 없어 합을 구할 수 없습니다.")
            else:
                print(mul_3_and_5)
                print(mul_3)
                print(mul_5)
                print(sum)
            
            # while문 종료
            break
    except:
        pass

 

실행

정수가 아닌 문자열을 입력하거나 입력값의 조건이 맞지 않으면 다시 입력값을 받는 모습을 보여준다.

728x90
반응형
Comments