03: 데이터 입출력과 format 함수 (23.04.06)

김윤서·2023년 4월 7일
post-thumbnail

📍데이터 입력

▶️ input 함수를 이용한 데이터 입력

  • input() 함수에 입력 가이드 문구 명시
    userInputData = input('키보드를 통해서 데이터를 입력하세요.')
     print(userInputData)
    키보드를 통해서 데이터를 입력하세요 
    오늘은 데이터 입력에 대해서 학습합니다.
  • 😮input() 함수를 이용해서 입력한 데이터는 모두 str 자료형 함수
    userInputData = input('문자형/정수형/실수형/논리형 을 입력하세요')
    print(userInputData)
    print(type(userInputData))
    문자형을 입력하세요. hello, 10, 3.14, True
    <class 'str'>
    
  • 형 변환 함수를 이용한 형 변환
userInputData = int(input('문자형/정수형/실수형/논리형 을 입력하세요'))
print(userInputData)
print(type(userInputData))
문자형을 입력하세요.  10
<class 'int'>

userInputData = float(input('문자형/정수형/실수형/논리형 을 입력하세요'))
print(userInputData)
print(type(userInputData))
실수형을 입력하세요.  3.14
<class 'float'>

📝실습
① 오늘의 날씨를 입력하고 출력해보자

② 사용자 이름을 입력하고 입력한 데이터의 자료형을 확인하는 코드를 작성해보자

③ 사용자가 가로, 세로 길이를 입력하면 삼각형과 사각형의 넓이가 출력되는 코드를 작성해보자.

📍데이터 출력

① 콤마(,)를 이용한 데이터 출력

print('User name : ', userName, 'User age : ', userAge)
User name : 홍길동 , User age : 20

② 포멧 문자열을 이용한 데이터 출력

print(f'User name : {userName}, User age : {userAge}')
User name : 홍길동 , User age : 20

③ 특수문자

\t : 탭 (띄어쓰기)
\n : 개행 (줄바꾸기_띄어쓰기 없이 붙인다)

print(f'User name\t:\t{userName}\nUser age\t:\t{userAge}')
end = ''    자동개행을 막기 위해 사용

📝실습
실행결과가 다음과 같이 출력될 수 있도록 코드를 작성해보자

가로 길이 입력: 10.5
세로 길이 입력: 5.5
width: 10.5
height: 5.5
triangle : 28.875
square : 57.75

width: 10.5, height: 5.5
triangle : 28.875, square : 57.75

📍format()와 형식문자

① format() 함수를 이용한 데이터 출력

print('User name : {}'.format(userName))
print('User age : {}'.format(userAge))
print('User name : {}, User age: {}'.format(userName, userAge))

userName : 홍길동
userAge : 20
userName : 홍길동, userAge : 20 
  • format() 함수의 인덱스를 이용한 출력
    ▶️format 함수 한 줄 나열시 순서를 바꾸겠다 싶으면 안에 인댁스 교체
    - 순서 그대로 가겠다 : 인덱스를 쓰지 않고 비워두기 {0}, {1}
    -순서를 바꾸겠다: 인덱스 번호를 강제적으로 넣어서 순서 바꿈
    ▶️인덱스로 숫자를 넣어주고 중복되는 매개변수 제거
  • 한줄에 너무 길면 끊어서 작성 가능: 들여쓰기 사용, 결과는 동일하게 나온다
print('나의 이름은 {}이고, 나이는 {}살입니다. {}이름은 아버님께서 지어 주셨습니다.'.format(userName, userAge, userName) #순서중복 -> 중복시 인덱스 사용 가능
print('나의 이름은 {0}이고, 나이는 {1}살입니다. {0}이름은 아버님께서 지어 주셨습니다.'.format(userName, userAge)

print('User name : {0}, ' 'User age : {1}'.format(userName, userAge))  
User name : 홍길동, User age : 21

print('User name : {1}, ' 'User age : {0}'.format(userName, userAge))
User name : 21, User age : 홍길동

②형식 문자를 이용한 데이터 출력

%s ➡️ 문자열
%d ➡️ 정수
%f ➡️ 실수

print('User name : %s' % userName)
print('User age : %d' % userAge)
print('User name : %s, User age : %d' % (userName, userAge))

print('pi : %f' %3.14)
print('pi : %d' %3.14)

User name : 홍길동
User age : 20
User name : 홍길동, User age : 20
Pi : 3.140000
Pi : 3

③소수점 자릿수 정하기

%.nf ➡️ 소수점 n자리 표현
'실수 n번 째 자리까지 보여주세요'를 의미한다.
😮반올림을 한다.

number = 10.9132865
print('number is : %.4f' % number)
=> 10.9133
print('pi : %.0f' % 3.14592)
print('pi : %.2f' % 3.14592)
print('pi : %.4f' % 3.14592)
print('pi : %.6f' % 3.14592)

pi : 3
pi : 3.14
pi : 3.1416
pi : 3.141592

📝실습
① 실행 결과가 다음과 같이 출력 될 수 있도록 코드를 작성하자.

반지름 입력 : 3
원주율 입력 : 3.141592
radius : 3.0, pi : 3.141592
radius : 3.000000, pi : 3.141592
radius : 3.00, pi : 3.14

profile
문과출신의 데이터 도전기

0개의 댓글