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)