파이썬 입문/파이썬 기본

## 표준 입력받기 (Input)

푸른하늘 은하수짱 2023. 7. 21. 07:07
  • 키보드로 입력받는 것
    input() 함수로 표준 입력을 받을 수 있음
    input()함수는 입력받기 위해 커서가 깜빡거림(사용자의 입력을 기다린다는 표시)
    입력받은 값은 항상 문자로 인식함.
    어떤값을 입력하고 enter키를 누르면 answer변수에 입력한 값이 저장되고 print()문이 실행됨

<실습>

#10을 입력했을 때
answer = input("아무 값이나 입력하세요 :")
print("입력한 값은 "+ answer + "입니다.")

print(type(answer))

 

실행결과

아무 값이나 입력하세요 :10

입력한 값은 10입니다.

<class 'str'>

##1분 퀴즈
다음 코드에서 사용자로부터 값을 입력받으려 할때 
'가'에 들어갈 함수명으로 올바른것은?

<실습>
dream = 가("당신의 꿈은 무엇인가요?")
print(f"제 꿈은 {dream}입니다.")
1. ask             2.  in              3. input           4. enter       정답 3

 

1. ##표준 입출력시 유용한 기능
# 구분자 넣기 sep
sep 매개변수를 사용하면 사용자가 지정하는 값으로 구분할수 있음

<실습>

print("파이썬","자바")
print("파이썬"+"자바")
print("파이썬","자바",sep=",")#값을 쉼표로 구분
print("파이썬","자바","자바스크립트")
print("파이썬","자바","자바스크립트",sep=" vs ")  # 값을 vs로 구분

 

실행결과

파이썬 자바
파이썬자바
파이썬,자바
파이썬 자바 자바스크립트
파이썬 vs 자바 vs 자바스크립트

 

2. ## 문장 끝 지정하기 : end
#줄바꿈은 \n, end에 값을 지정하면 문장끝을 줄바꿈대시 지정한 값으로 지정가능

<실습>
print("파이썬","자바",sep=",",end="? ")
print("무엇이 더 재미있을까요?")

 

실행결과

파이썬,자바? 무엇이 더 재미있을까요?

 

3. ##출력위치 지정하기 :file
#import sys   sys모듈을 가져와 사용함
# file은 print()문의 출력결과를 어디에 출력할지 지정하는 기능
# sys.stdout : 현재 표준 출력 터미널에 결과 표시
# sys.stderr 표준 오류를 나타내고 오류가 나타났을때 오류 메시지 띄우라고함

<실습>

import sys
print("파이썬","자바",file=sys.stdout)  #로그를 남길때 
print("파이썬","자바",file=sys.stderr)  # 오류가 발생했을 때 관련 내용 출력

 

실행결과

파이썬 자바
파이썬 자바

 

4. ##공간확보해 정렬하기(ljust()와 rjust())
3과목에 대한 성적 정보를 출력하는 코드
과목명(key)과 점수(value)를 한쌍으로 해서 수학, 영어, 코딩 성적 정보를 
가지는 scores 딕셔너리를 만들고 값들을 for문으로 출력
for문에 각각 subject와 score라는 이름으로 key와 value를 대입할 두 변수를 지정하고
반복대상을 score.items()로 작성하면 scores 딕셔너리의 key와 value가 차례로 
subject와 score 변수에 대입한다.

<실습>

scores = {"수학":0,"영어":50,"코딩":100}
for subject, score in scores.items():  #(key, value)
    print(subject, score)

 

실행결과

수학 0
영어 50
코딩 100

 

5. #과목명과 점수 사이를 조금 더 벌리고 오른쪽 정렬을 지정할때 rjust() 
# 괄호안에숫자를 넣으면 지정한 칸 만큼 공간 확보

<실습>
scores = {"수학":0,"영어":50,"코딩":100}
for subject, score in scores.items():  #(key, value)
    print(subject.ljust(8), str(score). rjust(4), sep=";")

실행결과

수학      ;   0
영어      ;  50
코딩      ; 100

6. ## 빈칸 0으로 채우기 zfill()
# 은행에 가면 대기번호표를 뽑습니다. 보통 대기번호는 3자리인데, 
# 자릿값이 없을 때는 0을 넣어 001,002,003,.....등으로 표시함
# 먼저 자릿값 0을 고려하지 않고 출력해보면

<실습>
for num in range(1, 21):
    print("대기번호 : "+str(num))

대기번호 : 1
대기번호 : 2
대기번호 : 3
대기번호 : 4
대기번호 : 5
대기번호 : 6
대기번호 : 7
대기번호 : 8
대기번호 : 9
대기번호 : 10
대기번호 : 11
대기번호 : 12
대기번호 : 13
대기번호 : 14
대기번호 : 15
대기번호 : 16
대기번호 : 17
대기번호 : 18
대기번호 : 19
대기번호 : 20

# 위의 값은 렬이 안됨.. 자릿값이 없을경우는 0으로 채워보기

<실습>
for num in range(1, 21):
    print("대기번호 : "+str(num).zfill(3))

실행결과

대기번호 : 001
대기번호 : 002
대기번호 : 003
대기번호 : 004
대기번호 : 005
대기번호 : 006
대기번호 : 007
대기번호 : 008
대기번호 : 009
대기번호 : 010
대기번호 : 011
대기번호 : 012
대기번호 : 013
대기번호 : 014
대기번호 : 015
대기번호 : 016
대기번호 : 017
대기번호 : 018
대기번호 : 019
대기번호 : 020

7. #3자리마다 콤마 찍기

print({{0:,}".format(100000000000))

print({{0:+,}".format(100000000000))

print({{0:+,}".format(-100000000000))

 

#1분퀴즈
# 2. 다음 중 표준 출력 시 이용할 수 있는 기능이 아닌 것은?
# 1. div     2. end     3. file    4. sep       정답 1


# 3. 다음 코드의 실행결과를 작성하시오
print("v","c","tion",sep="a") #   

실행결과

vacation

 

8.3장 다양한 형식으로 출력히기 :format()
# format()함수 사용하기
print("{0}".format(500))  #{0}위치에 값 500출력
# {0} -> {0:>10}로 바꾸면 공간 10칸 확보한 상태에서 
# 오른쪽 정렬하고 나머지 공간은 빈칸으로 둡니다.

<실습>

print("{0}".format(500))
print("{0:>10}".format(500))

실행결과

500
       500

# 빈칸으로 두기, 오른쪽 정렬, +기호 붙이기, 공간 10칸 확보하기

<실습>
print("{0:>+10}".format(500))
print("{0:>-10}".format(-500))

실행결과

      +500
      -500

# 공간 확보 하고 다른 값으로 채우기

<실습>
print("{0:_<10}".format(500))

실행결과

500_______

# 3자리마다 쉼표 찍기

<실습>
print("{0:,}".format(10000000000))  #3자리마다 쉼표 찍기
print("{0:+}".format(10000000000))
print("{0:-}".format(-10000000000))

실행결과

10,000,000,000
+10,000,000,000
-10,000,000,000

 

#공간확보하고 왼쪽 정렬로 + 기호를 포함한 큰수를 출력하는데 빈칸은 ^로 채워보기
#빈칸을 ^로 채우기, 왼쪽정렬, +기호 붙이기, 공간 30칸 확보, 3자리마다 쉼표 차지

<실습>
print("{0:^<+30}".format(10000000000))

실행결과

+10000000000^^^^^^^^^^^^^^^^^^

##실수값출력하기

<실습>
print("{0}".format(5/3))
print("{0:f}".format(5/3))  # 기본 6자리로 출력

print("{0:.2f}".format(5/3))  #원하는 자리로 출력할 경우 f앞에 점과 숫자를 붙임  

실행결과

1.6666666666666667
1.666667
1.67
  • 다양한 포맷형식 

       ## {인덱스:[빈칸채우기]정렬][기호][공간확보][쉼표][,자릿수][자료형]}

#1분퀴즈
# 다음 코드의 실행결과로 올바른 것은?
print("{0:_>+5}".format(100))

1. __100      2. 100__       3._+100     4. +100_   정답 : 3

실행결과

_+100

 

728x90
반응형

'파이썬 입문 > 파이썬 기본' 카테고리의 다른 글

8.6 파일 한번에 열고 닫기 : with문  (0) 2023.07.21
8.5 데이터를 파일로 저장하기:pickle 모듈  (0) 2023.07.21
변수로 연산하기  (0) 2023.07.18
연산자의 종류  (0) 2023.07.17
자료형과 변수  (0) 2023.07.09