python

[Python 기초] 숫자 int

kinggoddino 2024. 7. 5.

int("문자열")

: 문자열을 숫자로 바꿔준다.

 

사실 함수 공부하고 있었는데 int 개념이 등장했다.

함수 글에 이어서 적어놓으면 분명 나중에 머더라 하고 찾으러 와서 헤메고 있을거 같아서 그냥 새로운 글로 적어놔야겠다....

 

주민등록번호를 받으면 성별을 출력하는 함수 만들기!

# 주민번호 뒷자리 첫 번째 숫자가 홀수면 남성, 짝수면 여성.

 

일단 주민번호를 받아와서 뒷자리 첫 번째 숫자를 출력하는 함수를 생성한다.

split 사용해서

def check_gender(pin):
    num = pin.split('-')[1][:1]
    print(num)
check_gender("101010-1012345")      # 1
check_gender("101010-2012345")      # 2

[1] : 하이픈 기준으로 1번째 부분 빼오기(0번째부터 세야됨)

[:1] : 앞부분 0개 제외하고 1째자리 숫자, 즉 맨 앞자리 숫자 빼오기

TMI - PIN(Personal Identification Number, 개인 식별 번호)

 

이렇게 받아온 숫자를 2로 나눠서 짝수, 홀수로 나눠주면

def check_gender(pin):
    num = pin.split('-')[1][:1]
    if num % 2 == 0:
        print("여성")
    else:
        print("남성")
check_gender("101010-1012345")
check_gender("101010-2012345")

# TypeError: not all arguments converted during string formatting

안됨

그 이유는 위에서 빼온 숫자가 "문자열" 이기 때문이다.

문자열은 숫자로 나누는 사칙연산을 할 수 없으므로,  '문자열을 형식화하는 중에 일부 인수가 변환되지 않았다' 라는 에러가 뜬다.

 

이때 int를 사용하면 문자열을 숫자 정수형으로 변환할 수 있다.

사칙연산 부분에서 num 문자열을 숫자로 바꿔주면

def check_gender(pin):
    num = pin.split('-')[1][:1]
    if int(num) % 2 == 0:
        print("여성")
    else:
        print("남성")
check_gender("101010-1012345")      # 남성
check_gender("101010-2012345")      # 여성

 

 

 


 

'python' 카테고리의 다른 글

[Python 기초] 집합 set  (0) 2024.07.09
[Python 기초] 튜플 tuple  (0) 2024.07.09
[Python 기초] 반복문 for  (0) 2024.07.04
[Python 기초] 함수 def  (2) 2024.07.03
[Python 기초] 조건문 if  (0) 2024.07.03