sm 기술 블로그

12. 표준 출력(sep, sys, ljust, rjust, zfill, input) / 출력포맷 본문

Python

12. 표준 출력(sep, sys, ljust, rjust, zfill, input) / 출력포맷

sm_hope 2022. 5. 5. 16:46

(1) sep

print("Python", "Java" ,"JavaScript", sep="|||",end="?")
# sep 는 문자 사이에 무엇인가를 넣을 수 있다.
# Python|||Java

 

 

# 출력결과
Python|||Java|||JavaScript?

 

(2) sys

import sys
print("Python","Java",file=sys.stdout) # 표준출력
print("Python","Java",file=sys.stderr) # 에러로 출력

stdout은 표준 출력으로 문장이 찍힌다.

stderr은 표준 에러로 문장이 출력된다. (로그 기록을 남길때 사용하면 유용하다.)

# 출력결과
Python Java
Python Java

 

(3) ljust() , rjust()

# 시험 성적
scores = {"수학":0, "영어":50, "코딩":100}
for subject, score in scores.items(): #items : 내부값들
    
    print(subject.ljust(8), str(score).rjust(4), sep=":")
    #ljust 왼쪽으로 8칸 확보한 상태에서 정렬해라
    #rjust 오른쪽의 4칸을 확보해라. 
    #이 두가지는 str에서만 가능하다.

ljust() : 왼쪽에 공간을 확보하기 위해 사용

rjust() : 오른쪽에 공간을 확보하기 위해서 사용

 

이 둘은 str타입에서만 가능하다.

 

#출력 결과
수학      :   0
영어      :  50
코딩      : 100

각 과목과 빈칸이 합쳐 오른쪽 부터 8칸을 확보  :  각 점수와 빈칸이 합쳐 왼쪽부터 4칸 확보  

 

(4) zfill

# 은행 대기순번표
# 001, 002, 003, ...
for num in range(1, 12):
    print("대기번호 :" + str(num).zfill(3))
    #3자리를 확보하고 빈공간은 0으로 채워라.
    #대기번호 :011

zfill : 공간을 확보하고 빈공간은 0으로 채움.

 

# 출력결과
대기번호 :001
대기번호 :002
대기번호 :003
대기번호 :004
대기번호 :005
대기번호 :006
대기번호 :007
대기번호 :008
대기번호 :009
대기번호 :010
대기번호 :011

 

 

(5) input

#입력을 받음
answer = input("아무 값이나 입력하세요 :")
print("입력하신 값은 " + answer + "입니다.")
#str 없이도 잘 출력 됨 왜?-> 10을 string 으로 인식함.
#항상 문자열로 인식

input 사용자로 부터 값을 입력받기 위해 사용

기본적으로  String 타입으로 입력 받는다.

 

# 출력결과 : 5를 입력함
아무 값이나 입력하세요 :5
입력하신 값은 5입니다.

 

 


출력 포맷
# 빈 자리는 빈공간으로 두고, 오른쪽 정렬로 하되, 총 10자리 공간을 확보
print("{0: >10}".format(500))
#10자리 공간을 확보하면서 500을 출력하며 10자리를 빈공간으로 표시하라.


#양수일 땐 + 표시, 음수일 땐 -로 표시
print("{0: >+10}".format(500)) # +500
print("{0: >+10}".format(-500)) # -500


#왼쪽 정렬하고, 빈칸으로 _로 채움
print("{0:_<+10}".format(500)) # +500______


#3자리 마다 콤마를 찍어주기
print("{0:,}".format(100000000000))


#3자리 마다 콤마를 직고 +-부호를 붙이기.
print("{0:+,}".format(100000000000))
print("{0:+,}".format(-100000000000))


#3자리 마다 콤마를 찍어주고, 부호도 붙이고, 자릿수도 확보
# 돈이 많으면 행복하니까 빈 자리는 ^로 표시
print("{0:^<+30,}".format(100000000000))
#+100,000,000,000^^^^^^^^^^^^^^ 총 30자리, 나머지 자리는 ^표시


#소수점 출력
print("{0:f}".format(5/3))


#소수점을 특정 자리수 까지만 표시
print("{0:.2f}".format(5/3)) #1.67

 

 

 

# 출력결과

       500
      +500
      -500
+500______
100,000,000,000
+100,000,000,000
-100,000,000,000
+100,000,000,000^^^^^^^^^^^^^^
1.666667
1.67

'Python' 카테고리의 다른 글

14. 텍스트 스타크래프트  (0) 2022.05.08
13. 파일 입출력 / pickle / with  (0) 2022.05.05
11. 함수 / 지역변수,전역변수  (0) 2022.05.05
10. 문자열 + 배열 + 반복문 예제  (0) 2022.05.05
9. 반복문 (for / while)  (0) 2022.05.05
Comments