자료형 주의

Python 2019. 3. 31. 22:49

# 사용자에게서 주민등록번호 앞자리 6자리를 받아 생일을 출력하고자 한 코드 

# mm = user_age[2:4]에서 한자리수의 월을 출력할때 앞에 0이 붙는 것을 어떻게 없앨 수 없어 에러가 계속해서 생겨남.

# 이는 변수의 value를 int화한 후 다시 str화하면 원활하게 작동함.

 

def makeBirthdayString(user_age):
    yyyy = "19"+ user_age[:2]
    mm = str(int(user_age[2:4]))
    dd = str(int(user_age[4:]))
    return "당신의 생일은"+" "+ yyyy + "년"+" " + mm + "월"+" " + dd + "일 입니다"


age = input("주민등록번호 앞자리 6자리를 입력해 주세요 :")
print(makeBirthdayString(age))

 

 

 

여기서도 할인율을 적용하기 위해 값에 소수점이 나오는 것을 방지하기 위해 int를 넣어줘야 한다.

그렇지 않으면 TypeError : can't multiply sequence by non-int of type 'float'

가 나올 것임. 

 

'Python' 카테고리의 다른 글

or 연산자 사용할 때 주의점.  (0) 2019.04.15
파이썬에서 dir과 help함수 이용하기  (0) 2019.04.12
random 모듈 관련 함수  (0) 2019.04.11
중첩 for문  (0) 2019.04.06
if문에서 or를 사용할 때 주의할 점  (0) 2019.03.31
Posted by sozero
,