본문 바로가기
Python

5. Python - 입출력

by 짱냐옹이 2021. 9. 16.
반응형

앞의 챕터에서 다룬 것을 기본으로 입출력을 알아보자.

 

2. Python - 출력 : https://godnyaong.tistory.com/2

4. Python - 변수 : https://godnyaong.tistory.com/4

 

 

1.  Type 지정 출력

: print() 함수를 이용해 변수를 출력시

 형식을 지정해서 출력하는 방법

 

"%s" % 값 : 값을 문자열로 출력 (string)

"%d% 값 : 값을 10진 정수로 출력 (decimal)

"%x% 값 : 값을 16진수로 출력 (hex)

- 여러 개의 값을 출력할때는 순서대로 대입

 " %s %s %d " % (값1, 값2 , 값3)

    : 값1,값2 를 문자열, 값3을 정수로 출력

 

예시)

name = "nyaong"
name2 = "nyang"
age = 100
print("이름 : ", name, ", 부캐 : ",name2)
print("이름 : ", name, ", 부캐 : ",name2,sep="") 
#공백을 없애기 위해 sep=""구분자를 삽입
#그냥 다중출력시 공백이 기본으로 들어간다

print("이름 : "+ name+ ", 부캐 : "+name2) 
#string의 나열은 ','로도 가능하지만'+'도 가능

print("이름 : ", name, ", 부캐 : ",name2,", 나이 : ",age)
print("이름 : "+ name+ ", 부캐 : "+name2+", 나이 : "+str(age))

print("이름: %s, 부캐: %s, 나이: %d" % (name,name2,age))
# %s : string(문자열)
# %d : decimal (10진정수)
# %x : hex(16진수)

결과값)

이름 :  nyaong , 부캐 :  nyang
이름 : nyaong, 부캐 : nyang
이름 : nyaong, 부캐 : nyang
이름 :  nyaong , 부캐 :  nyang , 나이 :  100
이름 : nyaong, 부캐 : nyang, 나이 : 100
이름: nyaong, 부캐: nyang, 나이: 100

 

 

2.  format 메서드(함수) 출력 

 : 문자열 속에 지정된 위치로 변수를 출력함

   ※ Python 3.0 부터 사용가능

 

"{  },{  },{  }" format( 값1,값2,값3 )

     : 값을 지정된 문자열 위치로 출력

Print( "{ 0 },{ 1 },{ 2 }format( 값1,값2,값3 ))   

     >>  값1, 값2, 값3 출력

Print( "{ 2 },{ 0 },{ 1 }format( 값1,값2,값3 )

     >>  값3, 값1, 값2 출력

 

예시)

name = "nyaong"
name2 = "nyang"
age = 100
print("이름: {0}, 나이: {2}, 부캐 :{1}". format(name,name2,age))
print("이름: {}, 나이: {}, 부캐 :{}". format(name,age,name2))

결과값)

이름: nyaong, 나이: 100, 부캐 :nyang
이름: nyaong, 나이: 100, 부캐 :nyang

 

 

 

3.  f-string (format string) 출력 

  : 문자열 속에서 변수값을 지정위치로 간단히 출력

   ※ Python 3.6 부터 사용가능

 

f " 문자열 { 변수 } 문자열 { 변수 } 문자열 { 변수 } "   

    : 문자열 속에 변수값을 넣어서 string으로 출력

      {  }  안에서는 변수의 사칙연산도 가능

 

예시)

name = "nyaong"
name2 = "nyang"
age = 100

print(f"이름: {name}, 나이: {age}")
print(f"나는 {name}이야 부캐는 {name2}이구 올해 {age}살이 되었지~")

a = 5
b = 16

print(f"{a} 와 {b} 를 곱하면 {a*b} 가 됩니다.") 
print(f"{a} x {b} = {a*b}")

결과값)

이름: nyaong, 나이: 100
나는 nyaong이야 부캐는 nyang이구 올해 100살이 되었지~

5 와 16 를 곱하면 80 가 됩니다.
5 x 16 = 80

 

 

4.  변수 출력 형식 지정 

   : 변수를 지정위치로 출력시 형식을 바꿔줌

※ 아래 형식지정은 숫자의 경우만 가능

 

  {    변수    : N  }      :  자릿수를 N개로 지정

         (ex. N=3 일때 >> _ _ _변수 (임의로 공백을 밑줄로 표시))

  {    변수    : 0N  }      :  자릿수를 N개로 지정+앞을 0으로 채움

          (ex. N=3 일때 >> 000변수) 

  {    변수    : <N  }      :  자릿수를 N개로 지정+왼쪽정렬

          (ex. N=3 일때 >>  변수_ _ _ (임의로 공백을 밑줄로 표시))

                      > 는 오른쪽정렬, ^ 는 가운데정렬

 {    변수    : .n=Nf }      :  실수를 소수점 N째 자리까지 표시

 {    변수    : , }      :  통화 표시처럼 끝에서 셋째 자리마다 , 표시

 {    변수    : . N %      : 소수를 %로 표시, 소수점 자리 수 : N

 {    변수    : . N e }      :  숫자를 지수로 표시, 소수점 자리 수 : N

 

예시) 

name = "nyaong"
name2 = "nyang"
age = 100

# :n  (n:1,2,3,...) 폭을 설정
print(f"나이는 {age:5}이야 부캐는 {name2}이구")
print(f"나이는 {age:<5}이야 부캐는 {name2}이구")
print(f"나이는 {age:>5}이야 부캐는 {name2}이구")
print(f"나이는 {age:^5}이야 부캐는 {name2}이구")
print(f"나이는 {age:>05}이야 부캐는 {name2}이구")
print(f"나이는 {age:<.5f}이야 부캐는 {name2}이구")

결과값)

나이는   100이야 부캐는 nyang이구
나이는 100  이야 부캐는 nyang이구
나이는   100이야 부캐는 nyang이구
나이는  100 이야 부캐는 nyang이구
나이는 00100이야 부캐는 nyang이구
나이는 100.00000이야 부캐는 nyang이구

 

 

5.  표준 입력 

: 키보드 입력, 사용자가 직접 입력하는 값을 사용

 

input(       코드를 적고 cell을 실행하면 입력창이 실행된다.

input( "요구조건"     :  요구조건 은 입력창이 실행시 사용자가 볼 수 있다.

             >>  요구조건                                                                              

                                    (임의로 입력창을 초록색 창으로 표현했다.)

예시) 

이름=input()
print("나의 이름은",이름)

나이=input("여기다가 나이 적어주세요")
print("나의 나이는 ",나이)

# 표준 입출력의 단위는 string 문자열로 처리
a = input("정수로 입력 : ")
b = input("정수로 입력 : ")

print(type(a))
print(f"{a}+{b}={a+b}") 
# 문자의 합으로 숫자덧셈이 안됨

c = input("정수로 입력 : ")
c = int(c) 
#int()를 이용하여 type을 정수로 바꿔줌
d = int(input("정수로 입력 : ")) 
#input 할때부터 정수로 type변경

print(type(d))
print(f"{c}+{d}={c+d}") 
# 정수의 합이 출력

결과값)

(입력값) GodNyaong  
나의 이름은 GodNyaong

여기다가 나이 적어주세요 (입력값) 100
나의 나이는  100

정수로 입력 : (입력값) 5
정수로 입력 : (입력값) 10
<class 'str'>
5+10=510
 
정수로 입력 :  (입력값) 5
정수로 입력 :  (입력값) 10
<class 'int'>
5+10=15

 

★ 연습문제)  사용자에게 필요한 변수를 입력 받아

          원기둥의 겉넓이와 부피를 구하는 코드를 구현해 보세요.

          (  ※ 원기둥의 겉넓이 A = 2πrh + 2πr^2 

                   원기둥의 부피    V = πr^2 * h )  

          ( π=3.14 로 2자리 소숫점 까지만 넣어주세요  )

 

풀이)

r=float(input("r(밑원의 반지름을 입력해 주세요.)"))
   # float()는 실수변환
h=float(input("h(원기둥의 높이를 입력해 주세요.)"))
print(f"A(원기둥의 겉넓이) = {(2*3.14*r*h)+(2*3.14*r**2)}")
print(f"V(원기둥의 부피) = {(3.14*r**2*h)}")

결과값)

r(밑원의 반지름을 입력해 주세요.)  (입력값) 25.2
h(원기둥의 높이를 입력해 주세요.)  (입력값) 8

A(원기둥의 겉넓이) = 5254.0992
V(원기둥의 부피) = 15952.2048

 

반응형

'Python' 카테고리의 다른 글

7. Python - 리스트  (0) 2021.09.17
6. Python - 제어문 (조건문, 반복문)  (0) 2021.09.17
4. Python - 변수  (0) 2021.09.15
3. Python - 연산자  (0) 2021.09.14
2. Python - 출력  (0) 2021.09.14

댓글