파이썬 화면 출력과 입력
이전 시간에는 문자열 처리방법에 대해 배워보았습니다. 이번시간에는 함수를 이용하여 모니터 화면에 테이터를 출력하는 방법과 키보드로 데이터를 입력받아 변수에 저장하는 방법에 대해 배워 보겠습니다.
파이썬에서 화면에 데이터를 출력할 때 이용하는 함수는 print()입니다. print() 함수는 출력 방식은 다음과 같습니다.
- 콤마(,)를 이용한 출력
- 문자열 연결 기호(+)를 이용한 출력
- 문자열 포맷팅(%)을 이용한 출력
- format()을 이용한 출력
- 키워 sep를 이용한 출력
- 키워드 end를 이용한 출력
콤마(,)를 이용한 출력
print() 함수에서 콤마(,)를 이용하여 변수 또는 데이터를 화면에 출력하는 방법에 대한 예제를 한번 보겠습니다.
name = '신동엽'
age = 49
height = 173.8
print(name, age, height)
실행 결과 신동엽 49 173.8을 확인할 수 있습니다.
4행에서 사용된 print() 함수에서 괄호 안의 각 항목을 콤마(,)로 구분하고 있습니다. 이와 같은 방식으로 출력하면 실행 결과처럼 각 항목 사이에 공백('')이 하나씩 삽입됩니다.
문자열 연결 기호(+)를 이용한 출력
문자열을 연결할 때는 + 기호를 사용하는 방법에 대해 배웠습니다. 이것을 이용하여 메시지를 화면에 출력하는 예제를 보겠습니다.
x = 20
y = 30
print('x = ' + str(x) + ', y = ' + str(y))
실행 결과 x = 20, y = 30을 확인할 수 있습니다.
4행에서 네 개의 문자열 를 기호 +를 이용하여 출력하고 있습니다.
문자열을 + 기호로 연결할 때는 대상이 되는 변수나 데이터의 데이터형이 모두 문자열이어야 합니다.
문자열 포맷팅(%)을 이용한 출력
다음 예제를 통해 % 기호를 이용한 두 과목의 합계와 평균을 구한 다음, 문자열 포맷팅을 이용하여 결과를 출력하는 프로그램을 만들어보겠습니다.
score1 = 90
score2 = 73
sum = score1 + score2
avg = sum/2
print('두 과목 점수 : %d, %d' % (score1, score2))
print('합계 : %d, 평균 : %.2f' % (sum, avg))
실행 결과 두 과목 점수: 90, 73과 합계: 163, 평균: 81.50을 확인할 수 있습니다.
- 4행 두 과목의 합계를 구하여 sum에 저장합니다.
- 5행 두 과목의 합계 sum을 2로 나눈 평균값을 avg에 저장합니다.
- 7행 %d는 정수형 숫자의 데이터 형을 의미하기 때문에 실행 결과의 첫 번째 줄에 출력됩니다.
- 8행 %.2f는 소수점 둘째 자리까지의 실수형 숫자의 데이터 형을 의미합니다. 실행 결과 평균값이 소수점 둘째 자리까지 표시됩니다.
Format()을 이용한 출력
이번에는 format() 메서드를 이용하여 메시지를 출력하는 프로그램 예제를 통해 print() 함수에서 format() 메서드를 활용하는 방법에 대해 배워보겠습니다.
name = '동물농장'
id = 'sbs'
point = 6
print('이름: {}'.format(name))
print('아이디: {}, 마일리지: {}'.format(id, point))
실행 결과 이름: 동물농장 아이디: sbs, 마일리지: 6을 확인할 수 있습니다.
- 5행 format() 메서드를 이용하여 실행 결과 이름을 출력합니다.
- 6행 format() 메서드를 이용하여 출력하고자 하는 항목이 두 개 이상일 경우에는 (id, point)에서와 같이 각 항목을 콤마(,)를 사용하여 구분하면 됩니다.
키워드 sep을 이용한 출력
키워드 sep은 출력되는 각 항목 사이에 들어갈 문자열을 정의하는 데 사용됩니다. 다음 예제를 통해 키워드 sep사용방법에 대해 배워보겠습니다.
year = 2024
month = 6
day = 10
print(year, month, day, sep='/')
실행 결과 2024/6/10을 확인할 수 있습니다.
- 5행 출력되는 각 항목을 콤마(,)로 구분하고, 키워드 sep에 '/'를 입력하면 각항목 사이에 문자열 '/'가 삽입됩니다.
키워드 sep를 사용하지 않으면 각 항목 사이에는 공백이 삽입되고, 키워드 sep를 사용하면 각 항목사이에 공백대신 특정 문자열이나 기호를 넣을 수 있습니다.
키워드 end를 이용한 출력
키워드 end는 출력되는 내용의 마지막에 들어갈 문자열을 정의하는 데 사용됩니다. 다음 예제를 통해 키워드 end사용방벙에 대해 배워 보겠습니다.
a = '안녕하세요.'
b = '반갑습니다.'
print(a)
print(b)
print('/n/n')
print(a, end='')
print(b)
위 예제를 실행한 결과는 다음과 같습니다.
안녕하세요.
반갑습니다.
├─ (빈줄)
├─ (빈줄)
├─ (빈줄)
안녕하세요 반갑습니다
- 예제 4,5행 print() 함수를 수행하면 기본적으로 실행 결과 첫 번째와 두 번째 줄에 나타난 것과 같이 줄 바꿈이 일어난서 한 줄에 하난의 메시지가 출력됩니다.
- 예제 7행 여기 사용된 '/n'은 개행 문자라 부르고, 강제로 줄 바꿈을 하는 데 사용합니다. print('/n/n')는 print() 함수의 기본 줄 바꿈 한 번에 '/n'이 두 번 사용되었기 때문에 실행 결과에서와 같이 세 개의 빈 줄이 생기게 된다.
- 예제 9,10행 print(a, end='')는 문자열 a에 키워드 end에 설정된 문자열을 붙여서 출력하라는 의미입니다. 여기서 end에 설정된 작음 따옴표(') 2개는 빈 문자열을 나타냅니다. 문자열의 내용이 없는 빈 문자열은 다른 말로 '널', 즉 Null(또는 None)라고 합니다.
따라서 키워드 end가 Null 문자인 ''로 설정되었기 때문에 9행과 10행에서 출력한 내용이 한 줄에 붙어서 보이게 됩니다.
Null은 일반적으로 컴퓨터 언어에서 빈 문자열을 뜻합니다. 파이썬에서는 Null에 해당되는 객체로 None을 사용합니다.
키보드 입력 방법
파이썬에서 키보드로 데이터를 입력받기 위해서는 input() 함수를 이용합니다. 다음 예제를 통해 input()을 이용한 데이터 처리 방법에 대해 배워보겠습니다.
name = input('이름을 입력하세요: ')
print('%s님 반갑습니다.' % name)
실행 결과 이름을 입력하세요: 방문자, 방문자님 반갑습니다. 를 확인할 수 있습니다.
- 1행 input() 함수가 실행되면 키보드 입력을 기다리게 됩니다. 키보드에 입력된 값을 name에 값을 저장하게 됩니다.
- 3행 키보드에 입력된 내용을 포함한 '***님 반갑습니다.'란 메시지를 출력합니다.
input() 함수는 키보드로부터 입력되는 데이터를 받아들입니다. input(문자열)처럼 괄호 안에 있는 문자열은 메시지를 나타냅니다.
코딩 연습 문제
지금까지 배운 것을 토대로 연습 문제를 풀어보세요.
삼각형의 밑변의 길이와 높이를 이용하여 삼각형의 면적을 구하는 프로그램입니다. 올바른 실행 결과가 나오도록 밑줄 부분을 채워 보세요.
width = 10
height = 3
area = 1________ * height / 2
print('감각형의 밑변 길이:' width)
print('삼각형의 높이:', 2________)
print('삼각형의 면적:', 3________)
실행 결과 삼각형의 밑변 길이: 10, 삼각형의 높이: 3, 삼각형의 면적: 15.0