컴공생 누르지 마세요! 컴공생 울어요.

[Python 문법 공부] 03. 입출력 본문

STUDY/Python

[Python 문법 공부] 03. 입출력

당도최고치악산멜론 2023. 3. 6. 11:55

입출력

입력

  • 입력을 위한 전형적인 소스코드
# 데이터의 개수 입력
n = int(input())

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

# 내림차순 정렬
data.sort(reverse = True)
print(data)
  • input()
    • 하나의 문자열을 입력받는 함수
  • list(map(int, input().split()))
    • input()을 통해 입력받은 문자열을 split()을 통해 공백으로 구분하여 리스트로 만듦
    • map()을 통해 리스트의 모든 원소를 int로 변환
    • list()를 통해 최종 리스트를 만듦
  • 공백으로 구분된 데이터의 개수가 많지 않다면, 리스트로 만들지 않고 바로 변수에 넣을 수 있음
n, m, k = map(int, input().split())
  • 입력을 더 빠르게 받는 방법 ➡️ sys.stdin.readline().rstrip()
    • 입력의 개수가 많은 경우, input() 함수는 동작 속도가 느려서 적절하지 않음
    • 다음과 같은 소스코드 사용
    • readline() 함수는 입력 후 엔터가 줄 바꿈 기호로 입력되는데, 이 공백 문자를 제거하기 위해 rstrip() 함수 필수 사용
import sys
data = sys.stdin.readline().rstrip()

출력

  • print() 함수 사용
    • 기본적으로 줄바꿈됨
    • 매개변수는 , (콤마) 로 구분 ➡️ 이 경우 출력되는 변수 사이에 자동으로 공백 삽입
  • 문자열과 수를 함께 출력할 경우
    • 그냥 + 연산자로 더할 경우 에러 발생
    • str(수)로 숫자를 문자열로 변환 후 더하기 연산자를 쓰거나, 콤마로 구분하여 출력
    • 단, 콤마로 구분할 경우 의도치 않은 공백이 삽입되니 주의
answer = 7

print("정답은 " + str(answer) + "입니다")
# 실행결과: 정답은 7입니다

print("정답은", answer, "입니다")
# 실행결과: 정답은 7 입니다
  • python3.6 이상의 경우 f-string 문법 사용 가능
    • 문자열 앞에 f 를 붙이면 단순히 {} 중괄호 안에 변수를 넣음으로써 문자열과 정수 함께 출력 가능
answer = 7

print(f"정답은 {answer}입니다")
# 실행결과: 정답은 7입니다
Comments