[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