[Python] 기본 입출력 .input() 빠르게 입력 받기 sys.stdin.readline() .rstrip()
본문 바로가기
Python/기초 다지기

[Python] 기본 입출력 .input() 빠르게 입력 받기 sys.stdin.readline() .rstrip()

by 쏠수있어ㅤ 2021. 5. 31.
반응형

 사용자 입력과 출력 

 

input() 함수 - 한 줄의 문자열을 입력 받는 함수 

map() 함수 - 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용 

 

사용자 입력 - .input()의 사용 

 

>>> a = input()
'hi there'
>>> a
"'hi there'"
>>> input('숫자 적어쥬')
숫자 적어쥬:3
':3'
>>> input('숫자 적어죠')
숫자 적어죠10
'10'
>>>

a = input() #무조건 문자열로 받음
b = int(input()) # 정수 변환
c = input().split() #공백 기준 list만듬
# int 배열로 만들기 * list() 빠지면 안됨
d = list(map(int,input().split()))
# 입력되는 데이터가 변수 개수만큼이면 list 빠져도 가능 -> int로 출력
x,y = list(map(int,input().split()))
x1,x2,x3,x4 = list(map(int,input().split()))

print(a)
print(b)
print(c)
print(d)
print(x,y)
print(x1,x2,x3,x4)

 

 

 

 

 

 

 

 

 

따옴표로 둘러싸인 문자열은 + 연산과 동일 / 문자열 띄어쓰기는 콤마 

print("Life"   "is"    "good")
print("Life"+"is"+"good")
print("Life","is","good")
print('Life'   'is'  'good')
print('Life'+'is'+'good')
print('Life','is','good')
print('Life','','is','good')

 

 

 

 

 

 

 

한 줄에 결괏값 출력하기 

for i in range(1,11):
  print(i)

for a in range(1,11):
  if a == 10:
    print(a)
  else : 
    print(a, end=' ')

for v in range(10,21):
  print(v, end='.')  

 

 

 

 

 

 

 

코딩테스트에 자주 나오는 전형적인 소스코드

#데이터의 수입력 
#n = int(input()) # 5

#각 데이터를 공백 기준으로 구분하여 입력
#data = list(map(int,input().split()))

a = "65 64 63 29 04 21"
print(a) # String 
print(a.split()) #List 
print(list(map(int, a.split()))) #int
a = list(map(int,a.split()))

a.sort(reverse=True)
print(a)

 

 

 

 

 

 

 

 

빠르게 입력 받기 

사용자로부터 입력을 최대한 빠르게 받아야 하는 경우 

- sys 라이브러리에 정의되어 있는 sys.stdin.readline() 매서드 이용

단, 입력 후 엔터(Enter)가 줄 바꿈 기호로 입력되므로 rstrip() 매서드를 함께 사용

입력의 개수가 많을 경우 효율성이 낮음. 

import sys

#문자열 입력받기
data = sys.stdin.readline().rstrip()
print(data)

 

파이썬의 출력 - print()

input(), print() 모두 파이썬 내장함수

- 각 변수를 콤마 , 를 이용하여 띄어쓰기로 구분하여 출력할 수 있다.

- print()는 기본적으로 출력 이후 줄 바꿈을 수행 

- 줄 바꿈을 원치 않으면 'end' 속성 이용  

 

f-string 

파이썬 3.6부터 사용가능, 문자열 앞에 f를 띄어쓰기없이 붙여 사용

중괄호 안에 변수명을 기입하여 간단히 문자열과 정수를 함께 넣을 수 있다.

변수를 활용하면 문자열 안에 간단한 실수, 정수를 넣을 수 있다. 

f-string을 쓰면 굳이 숫자를 -> 문자열로 바꿔서 문자열끼리 더하는 방식을 사용하지 않아도 된다. 

a = 1
b = 2
print(a,b)

#print 이후 줄바꿈 안하고싶을 때 end=" "추가
print(7, end="   ")
print(8, end=" ")

answer = 7 
print('정답은 '+str(answer)+'입니다.')

# f string 
a = '8번'
b =  2

print(f'{a} 정답은 {b}입니다.')

 

 

 

 

반응형

댓글