[Python] 코딩 도장 - 자릿수 출력 프로그램

Updated:

코딩 도장 사이트의 문제를 직접 풀어본 내용을 정리하여 올립니다.

코딩 도장에서 여러 문제를 확인할 수 있습니다.

난이도 순으로 차근차근 풀어보려 합니다.


[문제: 자릿수 출력 프로그램] - Lv.1

양의 정수만 입력으로 받고 그 수의 자릿수를 출력해보자.

ex1) 3 > 1자리수, ex2) 649 > 3자리수 ….

출처: https://codingdojang.com/scode/588?answer_mode=hide


[풀이]

class small_number_error(Exception):
    pass

def positional_number():
    try:
        n = input("양의 정수를 입력하세요: ")
        if int(n) <= 0:
            raise small_number_error
        if int(n) > 0:
            print(f"{len(n)}자리수")
            
    except ValueError:
        print("양의 정수를 입력하여야 합니다.")
        
    except small_number_error:
        print("양의 정수를 입력하여야 합니다.")
    

positional_number()
양의 정수를 입력하세요: 3548
4자리수

자리수 추출은 어렵지 않은데 양의 정수만 입력으로 받으라고 명시되어 있다.

문자나 소수점이 있는 경우 등은 ValueError 처리하고 정수지만 0 또는 음의 정수이면 정의한 예외 처리를 발생시켰다.


[추천 풀이]

#자릿수구하기

print("양의정수만 입력하세요")
n = int(input())
a = 0
while n >= 1:
    n = n / 10
    a = a + 1

print("자릿수는", a, "입니다.")
양의정수만 입력하세요
3548
자릿수는 4 입니다.

추천 수가 많은 풀이가 딱히 없다.

양의 정수에 대한 제한을 줄 필요가 없는 건지 잘 모르겠는데 난이도가 1이니 굳이 안그래도 될수도..?

Leave a comment