4. 입력과 출력, f-string
1. 출력
1.1 print( ) 함수 사용법
# print()함수를 1개로 여러개의 변수 동시에 출력하기
f_name = "Richard"
l_name = "kim"
print("Name:", f_name, l_name)
# Name: Richard kim
1.2 print( ) 함수 응용법 - 띄어쓰기 대체하기
print("foo", 42, "bar")
print("foo", 42, "bar", sep="/")
print("foo", 42, "bar", sep="...")
print("foo", 42, "bar", sep="")
1.3 print( ) 함수 응용법 - 줄바꿈 대체하기
print("foo", end="/")
print(42, end="/")
print("bar")
print("foo", end="")
print(42, end="")
print("bar")
1.4 연습문제
# print() 는 출력 함수라고 합니다.
# print() 의 ( )괄호 안에, 정수 65와 같은 data를 직접 사용 할 수 있습니다.
# print() 의 ( )괄호 안에, num과 같은 변수를 넣어 출력 할 수 있습니다.
# 하지만 우리는 무조건 변수를 씁니다.
# *** 프로그래밍 구현에 정답은 없다. ***
# 문제 1 #
# 변수 num에 65를 대입하고 출력하세요.
? = 65
print(?)
# 문제 2 #
# 변수 num을 copy_num1, copy_num2 에 대입하세요
copy_num1 = ?
copy_num2 = ?
# 문제 3 #
# 변수 num 에 정수 2 를 더하고,
# 변수 res 할당하세요.
# 그리고, print()함수로 res 변수의 값을 출력하세요.
? = num + ?
print(?)
# 문제 4 #
65, res, sum 를 출력하세요
print(?)
print(?)
print(?)
# 문제 5 #
num, res, sum 변수를 print() 함수 1개에 한번에 출력하세요.
print(?, ?, ?)
# 문제 6 #
print('Life', 'is', 'short,', 'art', 'long,', 'oppertunity', 'fleeting,')
print('experience', 'treacherous,', 'judgement', 'difficult.')
# 6.1 [공백 제거]된 상태로 출력하세요
# 6.2 [줄바꿈 없이] 한줄로 출력하세요.
# 6.3 문장에에 \n 을 사용해, 총 5줄로 출력하세요.
1.5 이스케이프 문자 이해
# print()
이스케이프 문자 | 설명 |
\n | 줄 바꾸기 |
\t | 탭 |
\enter | 줄 계속 |
\\ | '\' 기호 표시 |
\'또는 \" | ' 기호 또는" 기호 |
print('나는 파이썬을 사람합니다. \n 파이썬은 상대적으로 다른 언어에 비해 쉽습니다.')
print('Name: John Smith\tSex:Male\tAge:22')
print('이 문장은 화면 폭에 비해 너무 길어 보기가 힘듭니다. \
그래서 \\Enter 키를 이용해 다음줄과 연속되도록 했습니다.')
print('작은 따옴표(\')와 큰 따옴표(\")는 문자열을 정의할 때 사용합니다.')
2. 입력
2.1 input( ) 함수 사용법
# input() 함수 사용하기
user_input = input()
print("입력 내용: ", user_input)
name = input("이름을 입력해주세요. >> ")
print("이름: ", name)
2.2 입력받은 데이터(값, value)의 자료형
number = input("Enter a number: ")
print(number + 100)
number = int(input("Enter a number: "))
print(number + 100)
2.3 연습문제
# 문제 1 #
# phone_no 변수에 핸드폰 번호를 입력받아 출력하세요.
# tip
# fname = input("핸드폰 번호를 입력 하세요>> ")
# 문제 2 #
# 사람의 특징을 변수 10개로 입력받아 출력하세요.
# tip
# 이름, 성, 생일, 고향, 전화번호, 혈액형, 키, 몸무게, 국적, mbti,
# 배고픔 상태, 현재 기분, 최대 체력, 최대 의지, 필요 집중력, 열정 정도
# fname = input("이름을 입력하세요>> ")
# 문제 3 #
# 프로그래밍은 "현실의 어떤 대상"을 소스 코드로 구현하는 것이다.
# 주위 사물의 속성을 변수 10개로 만들어 입력받아 출력하세요.
# tip
# 책상 속성: 크기, 무게, 재질, 가격, 색 등
3. 입력과 출력
phone_no = input("핸드폰 번호를 입력하세요 >> ")
print("핸드폰 번호는, ", phone_no, "입니다.")
3.1 연습문제
# *** 프로그래밍 구현에 정답은 없다. ***
print('Life','is','short,')
print('art','long,')
print('oppertunity','fleeting,')
print('experience','treacherous,')
print('judgement','difficult.')
# 7.1 위 print() 함수 5개를 [공백 제거]된 상태로 출력하세요
# 결과 >> Lifeisshort,
# artlong,
# hint >> google keyword : 파이썬 출력 공백 제거
# 7.2 위 영어 문장을 print() 함수 5개를 사용하되, [줄바꿈 없이] 한줄로 출력하세요.
# 결과 >> Life is short, art long, oppertunity fleeting, experience treacherous, judgement difficult.
# hint >> google keyword :파이썬 print 공백 없이 출력
# 7.3 위 한줄로 출력한 영어 문장을 print() 함수 1개를 사용하여 5줄로 출력하세요.
# 결과 >> Life is short,
# art long,
# hint >> google keyword : 파이썬 이스케이프 문자
더보기
# 아래 ,(콤마)를 사용한 print 함수의 공백을 제거해보세요
# 결과 >> HelloPython
print('Hello', 'Python')
# 아래 ,(콤마)를 사용한 print 함수의 공백을 3칸으로 추가해보세요
# 결과 >> Hello Python
print('Hello', 'Python')
# 아래 ,(콤마)를 사용한 print 함수의 단어 사이에 ,(콤마)를 추가해 출력하세요
# 결과 >> Hello,Python
print('Hello', 'Python')
# 아래 ,(콤마)를 사용한 print 함수의 단어 사이에 x를 추가하고 공백을 제거해 출력하세요
# 결과 >> 1920x1280
print('1920', '1280')
+ 파이썬은 모든 자료형이 객체다. 라는 점을 자료형 마지막에 이해해야 한다.
1. 문자열 포매팅
서식 지정자(format specifier)
문자열 포매팅(string formatting)
서식 지정자 | 데이터 자료형 |
%s | 문자열(String) |
%c | 문자1개(Character) |
%d | 정수(Integer) |
%f | 실수(Floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | Literal % (문자 ‘%’ 자체) |
%s 문자열(String)
# 서식 지정자 사용해 출력
name = 'james'
print('이름%s.' % name)
# 서식 지정자 사용해 오른쪽 정렬 출력
name = 'james'
print('이름%10s.' % name)
# 서식 지정자 사용해 왼쪽 정렬 출력
name = 'james'
print('이름%-10s.' % name)
%d 정수(Integer)
# 여러 데이터 동시 출력
name = 'james'
age = 22
height = 184
print('이름%s, 나이%d, 키%d.' % (name, age, height))
%f 실수(Floating-point)
pi = 3.14
print('파이는 %f' % pi)
print('파이는 %0.2f' % pi)
# 실행결과
# 파이는 3.140000
# 파이는 3.14
fl = 1234.12345
print('파이는 %f' % fl)
print('파이는 %0.2f' % fl)
print('파이는 %10.4f' % fl)
# 소수는 1234.123450
# 소수는 1234.12
# 소수는 1234.1235
문제1
# 3개의 성적을 입력받고
# 이들의 합과 평균을, 서식 지정자 %f 를 사용해 소수점 5자리까지 출력하세요.
2. format 함수 사용
name = 'james'
print('이름{0}.'.format(name))
# 실행결과
# 이름james.
# format() 함수를 사용해 오른쪽 정렬 출력
name = 'james'
print('이름{0:>10}.'.format(name))
# 실행결과
# 이름 james.
# format() 함수를 사용해 왼쪽 정렬 출력
name = 'james'
print('이름{0:<10}.'.format(name))
# 실행결과
# 이름james .
# format() 함수를 사용해 가운데 정렬 출력
name = 'james'
print('이름{0:^10}.'.format(name))
# 실행결과
이름 james .
%d 정수(Integer)
# 여러 데이터 동시 출력
name = 'james'
age = 22
height = 184
print('이름{0}, 나이{1}, 키{2}.'.format(name, age, height))
%f 실수(Floating-point)
pi = 3.14159
print('파이는 {0}'.format(pi))
print('파이는 {0:0.2f}'.format(pi))
# 실행결과
# 파이는 3.14159
# 파이는 3.14
fl = 1234.12345
print('소수는 {0}'.format(fl))
print('소수는 {0:0.2f}'.format(fl))
print('소수는 {0:10.4f}'.format(fl))
# 실행결과
# 소수는 1234.12345
# 소수는 1234.12
# 소수는 1234.1235
문제2
import math # math.pi를 사용하기 위해 math 모듈을 포함시킨다.
r = int(input("반지름: ")) # 사용자로부터 반지름을 입력받아 r에 저장한다.
print("원의 넓이:", r*r*math.pi) # 원의 넓이인 r*r*math.pi 값을 출력한다. math.pi는 원주율을 의미한다.
# 실행결과
# 반지름: 5
# 원의 넓이: 78.53981633974483
# 위 소스코드를 참고하고, 결과를 format() 함수를 사용해 소수점 5자리까지 출력하세요.
3. f-string
# 1. 변수 참조 #
name = "SangMoon Choi"
age = 10
str = f"나의 이름은 {name}, 나이는 {age + 1} 이다."
print(str)
# 2. 딕셔너리 참조 #
dic = {'name' : "홍길동", 'age': 30}
str_dic = f"나의 이름은 {dic['name']}, 나이는 {dic['age'] + 1} 이다."
print(str_dic)
# 3. 정수, 실수 소숫점 표현 + 정렬렬#
integer_num = 11
float_num = 1.3456
Octal_num = 0o177
Hexa_num = 0xFF
print(f"""
정수 :{integer_num :>10} # > 오른쪽 정렬, 정수 10자리
정수 :{integer_num :>7} # > 오른쪽 정렬, 정수 7자리
실수 :{float_num :>10.2f} # > 오른쪽 정렬, 정수 10자리 + 실수 소수점 2자리
실수 :{float_num :<10.5f} # < 왼쪽 정렬, 정수 10자리 + 실수 소수점 5자리
실수 :{float_num :^10.2f} # ^ 가운데 정렬, 정수 10자리 + 실수 소수점 2자리
8진수 :{Octal_num :>10.2f}
16진수 :{Hexa_num :>10.2f} """)
# 4. 공백 채우기 #
str_space = f"나이는 {dic['age'] + 1 :-^20}"
print(str_space)