1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | def mul3(): while True: userVal = input('수를 입력하세요 : ' ) try: userVal = int(userVal) if userVal == 0 : print('3의 배수 판별 프로그램 종료') return elif userVal % 3 is 0: print('3의 배수 입니다.') else: print('3의 배수가 아닙니다.') except Exception : print('정수가 아닙니다.') continue | cs |
3의 배수 구하는 간단한 로직
1 : mul3()로 실행할 경우
2 : while문을 바로 실행시키고,
3 : 사용자에게서 수를 입력받아 userVal 변수에 담는다.
4 : try문을 이용해서 예외처리를 시작한다
5 : userVal을 int형으로 캐스팅한다.
(3번째 라인의 userVal은 print(type(userVal))하면 str이 나오기 때문)
6 : 만약 사용자가 입력한 값이 0이라면
7 : 프로그램 종료를 띄우고,
8 : 함수 종료
9 : 그게 아니라면, userVal을 3으로 나눴을 때 나머지가 0이라면
10 : 3의 배수이므로, 3의 배수임을 알리는 메시지 출력
11 : 그게 아니라면,
12 : 3의 배수가 아니므로, 3의 배수가 아님을 알리는 메시지 출력
13 : userVal에 'hi'와 같은 문자열이나 숫자가 아닌 것이 들어왔다면 오류가 일어나기 때문에, 예외처리를 한다. Exception은 모든 예외처리를 말함
14 : 이는, 정수가 아니므로 정수가 아님을 알리는 메시지 출력
15 : 잘못된 값을 입력할 경우 다시 값을 받아야 하므로 다시 continue로 해서 3번째 라인으로 되돌아감
-------------------------------------------------------------------
결과 예시
1 2 3 4 5 6 7 8 9 10 | 수를 입력하세요 : 10 3의 배수가 아닙니다. 수를 입력하세요 : 12 3의 배수 입니다. 수를 입력하세요 : hi 정수가 아닙니다. 수를 입력하세요 : 0 3의 배수 판별 프로그램 종료 Process finished with exit code 0 | cs |
+ 매개변수를 통해 해당 배수 판별 프로그램을 만들 수도 있다