본문 바로가기
프로그래밍/Python

[Python] abs 내장 함수 : 절댓값

by 빛밤하늘 2021. 6. 29.
반응형

이번에는 알고리즘 문제를 푸는데 많이 사용하지는 않았지만,

한두 번은 사용해야 했던 파이썬 내장 함수인 abs 내장 함수에 대해서 포스팅해보겠습니다.

 

밑의 링크들은 백준에 있는 문제를 풀면서 abs 내장 함수를 사용해서 푼 문제들입니다.

 

[백준][solved.ac][Bronze 2][Python] 1871번 : 좋은 자동차 번호판

밑의 링크는 백준에서의 문제 링크입니다. 1871번: 좋은 자동차 번호판 각각의 자동차 번호판에 대해서, 좋은 번호판이면 "nice"를, 아니면 "not nice"를 출력한다. www.acmicpc.net 파이썬 코드와 결과입

brightnightsky77.tistory.com

 

[백준][solved.ac][Bronze 2][Python] 19563번 : 개구리 1

밑의 링크는 백준에서의 문제 링크입니다. 19563번: 개구리 1 좌표평면의 원점 위에 개구리가 한 마리 있다. 개구리는 한 번 점프할 때마다 인접한 네 칸 중 하나로 이동한다. 예를 들어, 초기에 개

brightnightsky77.tistory.com

 

현재 이 글을 포스팅하고 있는 시점에서는 abs 내장 함수를 사용해서 푼 문제들 중

블로그에 있는 풀이법이 있는 문제는 위의 두 문제뿐입니다.

 

예전에 abs 내장 함수를 사용해서 풀었던 문제가 몇 개 더 있었는데

쌓아놓은 자료들을 정리하면서 포스팅해보겠습니다.

 

 

 

1. 절댓값

실수의 절댓값이란 수직선 위에서 원점으로부터 어떤 수를 나타내는 점까지의 거리를 의미합니다.

 

쉽게 생각하면 무조건 양수로 만든 것이 절댓값이라고 생각하면 됩니다.

 

밑의 링크는 절댓값에 대한 위키백과 링크입니다.

 

절댓값 - 위키백과, 우리 모두의 백과사전

수학에서, 절댓값(絕對-, 영어: absolute value 또는 modulus)은 수직선 위에서 원점으로부터 어떤 수를 나타내는 점까지의 거리다. 실수가 실수선의 원점과, 복소수가 복소평면의 원점과 떨어진 거리

ko.wikipedia.org

 

※ 파이썬으로 복소수를 다뤄본 적은 없어서... 복소수의 절댓값에 대한 내용은 없습니다. ㅜㅜ

 

 

 

 

 

 

 

 

2. abs 내장 함수

2-1. 사용법과 결과

abs 내장 함수의 사용법은 다음과 같습니다.

 

  • abs('절댓값으로 만들 숫자 1개')

 

내장 함수이므로 특정 모듈을 먼저 호출해야할 필요는 없습니다.

 

코드를 실행시키면 매개변수에 넣은 숫자 1개에 대한 절댓값을 반환합니다.

정수인 int형 숫자를 넣으면 int형 절댓값이,

실수인 float형 숫자를 넣으면 float형 절댓값이 반환됩니다.

 

 

 

2-2. 공식 문서

밑의 링크는 파이썬 내장 함수에 대한 파이썬 공식 문서 페이지입니다.

여기서 abs 내장 함수에 대한 공식 문서 내용을 찾을 수 있습니다.

 

 

내장 함수 — Python 3.9.5 문서

내장 함수 파이썬 인터프리터에는 항상 사용할 수 있는 많은 함수와 형이 내장되어 있습니다. 여기에서 알파벳 순으로 나열합니다. abs(x) 숫자의 절댓값을 돌려줍니다. 인자는 정수, 실수 또는 __

docs.python.org

 

 

 

 

 

 

 

 

2-3. 실행 결과

2-3-1. 매개변수에 정수를 넣은 경우

2-3-1-1. 매개변수에 양수인 정수를 넣은 경우

양수의 절댓값은 양수 그대로이므로 매개변수에 양수인 정수를 넣으면 그 숫자 그대로 반환합니다.

# 양수인 정수들의 절댓값을 출력해봅니다.
print("1의 절댓값:", abs(1))
print("2의 절댓값:", abs(2))
print("3의 절댓값:", abs(3))
print("100의 절댓값:", abs(100))
print("98765의 절댓값:", abs(98765))

매개변수에 양수인 정수들을 넣은 결과

 

2-3-1-2. 매개변수에 0을 넣은 경우

0의 절댓값은 0 그대로이므로 매개변수에 0을 넣으면 0 그대로 반환합니다.

# 0의 절댓값을 출력해봅니다.
print("0의 절댓값:", abs(0))

매개변수에 0을 넣은 결과

 

2-3-1-3. 매개변수에 음수인 정수를 넣은 경우

음수의 절댓값은 앞의 음수 부호를 없앤 양수이므로

매개변수에 음수인 정수를 넣으면 음수 부호를 없앤 양수로 반환됩니다.

# 음수인 정수들의 절댓값을 출력해봅니다.
print("-1의 절댓값:", abs(-1))
print("-2의 절댓값:", abs(-2))
print("-3의 절댓값:", abs(-3))
print("-100의 절댓값:", abs(-100))
print("-98765의 절댓값:", abs(-98765))

매개변수에 음수인 정수들을 넣은 결과

 

 

 

2-3-2. 매개변수에 실수를 넣은 경우

2-3-2-1. 매개변수에 양수인 실수를 넣은 경우

양수의 절댓값은 양수 그대로이므로 매개변수에 양수인 실수를 넣으면 그 숫자 그대로 반환합니다.

# 양수인 실수들의 절댓값을 출력해봅니다.
print("1.0의 절댓값:", abs(1.0))
print("2.0의 절댓값:", abs(2.0))
print("3.51의 절댓값:", abs(3.51))
print("100.5555의 절댓값:", abs(100.5555))
print("98765.4321의 절댓값:", abs(98765.4321))

매개변수에 양수인 실수를 넣은 결과

 

2-3-2-3. 매개변수에 음수인 실수를 넣은 경우

음수의 절댓값은 앞의 음수 부호를 없앤 양수이므로

매개변수에 음수인 실수를 넣으면 음수 부호를 없앤 양수로 반환됩니다.

# 음수인 실수들의 절댓값을 출력해봅니다.
print("-1.0의 절댓값:", abs(-1.0))
print("-2.0의 절댓값:", abs(-2.0))
print("-3.51의 절댓값:", abs(-3.51))
print("-100.5555의 절댓값:", abs(-100.5555))
print("-98765.4321의 절댓값:", abs(-98765.4321))

매개변수에 음수인 실수를 넣은 결과

 

 

 

 

 

 

 

 

2-3-3. 매개변수에 다른 자료형을 넣은 경우

abs 내장 함수의 매개변수에는 숫자 자료형인 int, float 자료형만 들어갈 수 있습니다.

문자열인 str 자료형을 매개변수에 넣으면 밑의 사진과 같이

abs()에 맞지 않는 피연산자를 넣었다라는 TypeError 오류가 발생합니다.

 

밑의 예제처럼 숫자 형태의 문자열을 넣는다고 하더라도 자동으로 형 변환은 되지 않습니다.

# abs 내장 함수의 매개변수에 문자열을 넣어봅니다.
print("abs 내장 함수의 매개변수에 문자열 '1'을 넣은 결과:", abs('1'))

매개변수에 문자열을 넣어본 결과

 

매개변수에 리스트나 튜플을 넣어도 마찬가지로 TypeError 오류가 발생합니다.

# abs 내장 함수의 매개변수에 리스트를 넣어봅니다.
print("abs 내장 함수의 매개변수에 리스트 [1]을 넣은 결과:", abs([1]))

매개변수에 리스트를 넣어본 결과

 

# abs 내장 함수의 매개변수에 튜플을 넣어봅니다.
print("abs 내장 함수의 매개변수에 튜플 (1,)을 넣은 결과:", abs((1,)))

매개변수에 튜플을 넣어본 결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

반응형

댓글