본문 바로가기

study/python

입력과 출력 그리고 map에 대해

프로그래머스 문제만 풀다가 백준 문제를 풀려고 한다. 

그전에 입력과 출력에 대한 이해가 있어야 하기에 codeup에서 python 기초 100제를 풀며 기초를 다졌다.

코드업에서는 map함수에 대해 알려주지 않았지만 다른 사람들의 풀이를 보면 map함수가 자주 나온다.

입력과 출력 그리고 map함수에 대해 정리해보고자 한다.

 


01. 입력 값 받기

 

1)  input()

변수 = input()을 실행시키면 키보드로 입력한 값을 변수에 저장한다.

이때 input은 사용자가 입력한 값을 문자열로 인식한다.

 

2) 타입 변화

입력한 값을 원하는 형태로 계산하거나 처리하기 위해서는 어떤 타입인지 명확히 구분해야 한다.

ex) 문자열이 아닌 정수 A를 출력하기 위해서는 int()를 통해 타입 변화를 시켜야 한다.

A = input()

A = int(A)

 

3) 2개의 값 입력 받기

ㆍ줄을 바꿔 입력될 경우

input()은 한 줄 단위로 입력을 받는다.

a = input()

b = input()

 

ㆍ공백으로 구분되어 입력될 경우

input().split()공백을 기준으로 입력된 값들을 나누어 자른다.

a, b = input().split()

split()을 통해 공백으로 구분되어 있는 값을 각각 A와 B에 넣는다.

 

4) map 함수 사용

A , B = input().split()

A = int(A)

B = int(B)

코드를 간결하게 줄이는 방법을 고민해보자.

 

먼저

A, B = int(input().split())

를 해보았으나 오류가 났다.

split()은 한 문자열을 나누어 리스트 형태로 저장한다.

int는 리스트를 정수형으로 바꿀 수는 없다. 

 

이때 사용 가능한 map 함수가 있다.

map(적용할 함수, 반복 가능한 자료형)

A, B  = map(int, input().split())

 

참고

[파이썬 / Python] map(int, input().split())에 대해 :: 깜빡임 공방 (tistory.com)

 

 

5) 진수를 입력 받기

ex) 16진 정수 1개를 입력받기

a = input()

n = int(a, 16) #입력된 a를 16진수로 인식해 변수 n에 저장

 

6) 영문자를 입력받아 10진수로 변환하기

ord() 어떤 문자의 순서 위치(ordinal position) 값을 의미

n = ord(input()) #입력된 문자를 10진수 유니코드 값으로 변환 후 n에 저장

 

 


02. 출력하기

 

1) print()

 

2) 공백을 포함하여 출력

콤마(,) 두 문자열을 공백을 포함하여 출력한다.

print("Hello World")
>>> Hello World

print("Hello", "World")
>>> Hello World

 

3) 줄을 바꿔서 출력하기

print에는 개행문자가 포함되어 있어 다음 줄로 커서가 넘어간다고 생각하면 된다.

혹은 개행문자(\n)을 문자열 안에 작성하여 출력한다.

print("Hello")
print("World")
>>> Hello
World

print("Hello\nWorld")
>>> Hello
World

 

4) 이스케이프 문자 사용하여 그래로 출력하기

print("print(\"Hello\\nWorld\")")
>>> print("Hello\nWorld")

 

5) 진수를 바꿔 출력하기

ex) 변수에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력

print('%x'%n)

ex) 변수에 저장되어있는 값을 16진수(hexadecimal) 대문자 형태 문자열로 출력

print('%X'%n)

ex) 변수에 저장되어있는 값을 8진수(octal) 소문자 형태 문자열로 출력

'study > python' 카테고리의 다른 글

비프시프트연산  (0) 2023.01.28
input 대신 sys.stdin.readline  (0) 2023.01.20
10진수, 8진수, 16진수  (0) 2023.01.19
입력이 끝날 때까지 받는 End Of File과 sys  (0) 2023.01.15
오류 처리를 위한 try-except문  (0) 2023.01.15