3. 입출력 함수
(1) 표준 출력 함수 (print)
- 화면에 출력하기 위한 표준 출력 함수 print
[1] 단순 출력 및 개행
print(문자열, end)
▷ end 파라미터 : print 함수가 완료될 때 끝에 추가할 문자 ( default - '\n' 개행문자)
- print 함수 종료 이후에, 기본으로 개행 (줄바꿈) 실행
ex. print('ABC')
▶ end 파라미터를 별도로 지정하지 않았으므로 default 값인 end='\n'이 생략된 형태
문자열 ABC 출력 이후, 개행 진행
# 파이썬 단순 출력
print('Hello', end='')
print('Hoxypot')
print('Hello', end='!')
print('Hoxypot')
# HelloHoxypot
# Hello!Hoxypot
- print 함수로 'Hello' 문자열 출력 후, end 파라미터에 '' blank 값 넣었으므로 개행 X
- print 함수로 'Hoxypot' 문자열 출력, 위에 개행되지 않았으므로 'Hello' 문자열 뒤에 바로 붙여서 출력 > 'Hoxypot' 뒤에는 default 값인 개행 실행
- print 함수로 'Hello' 문자열 출력 후, end 파라미터에 '!' 값 넣었으므로 개행 없이 느낌표 출력 > Hello!
- print 함수로 'Hoxypot' 문자열 출력, end 파라미터에 아무것도 하지 않았으므로 default 값인 개행 실행 > 위에서 개행하지 않았으므로 '!' 뒤에 붙여서 출력
[2] 변수 출력
- print 함수로 변수 출력 시, 매개변수에 출력할 변수명 넣어주면 됨
print(변수명)
# 파이썬 변수 출력
a=5
print(a)
b=3
print('a=', a, 'b=', b)
# 5
# a= 5 b= 3
- 변수 a에 정수 5 대입 > 5 출력
- 변수 b에 정수 3 대입 > 문자열 'a=' 출력 후 a 출력인데 자동 띄어쓰기 포함이므로 a= 5 출력
- 위에 이어서 띄어쓰기 한 칸만 하고 b= 3 출력
(2) 표준 입력 함수 (input)
- 문자열이나 숫자 입력받을 수 있는 파이썬 표준 입력 함수 - input
- 파이썬에서 정수형, 실수형 같은 숫자 입력받을 때 문자열 저장 후, **eval 함수** 써서 숫자 변환 필요
1. 문자열 입력
변수명 = input( )
2. 숫자 입력
변수명 = input( )
변수명 = eval(변수명)
- eval 매개변수가 숫자로 변환할 수 없는 문자열일 경우, 에러 발생
# 파이썬 input 함수
s=input( )
s=eval(s)
print(s)
# 입력 : 1
# 출력 : 1 (정수형)
- 변수 s에 값 입력 받음 > 입력값 1이 문자열 '1'로 저장됨
- eval 함수를 통해 문자열 '1'을 숫자로 변환
- 정수 1 출력
4. 연산자 (Operator)
- 프로그램 실행 목적으로 연산을 표현하는 기호
(1) 연산자 종류
[1] Swap 연산자
- 두 변수 값 교환하는 연산자
- 콤마 기준 두 값 교환
파이썬 연산자와 C언어 연산자
파이썬과 C언어는 대부분의 연산자가 동일
C언어에 없는 연산자만 다룰 예정
※ 파이썬은 증감 연산자 ++ , -- 지원 X
# 파이썬 Swap 연산자
a, b= 10, 20
print(a)
print(b)
a, b = b, a
print(a)
print(b)
# 10
# 20
# 20
# 10
- 변수 a 10, 변수 b 20 초기화 > 10 출력 > 20 출력
- a, b = b, a 연산을 통해 a와 b 값 교환 > a=20, b=10
- 20 출력 > 10 출력
[2] 산술 연산자
- 두 수의 수치 계산을 위한 연산자
- 사칙 연산(+, -, *, /, //) , 지수 연산(**), 나머지 연산(%)
' // ' 의 역할
- C언어와 자바의 ' // ' : 주석
- 파이썬의 '//' : 몫 계산 연산자
# 파이썬 산술 연산자
print(3/2)
print(3//2)
print(3**2)
print(3%2)
# 1.5
# 1
# 9
# 1
[3] 비교 연산자
- 두 피연산자가 같은지 다른지 비교하는 연산자
# 파이썬 비교 연산자
print(3==3)
print(5==3)
# True
# False
- 3과 3은 같은 값이므로 참인 True 출력
- 5와 3은 다른 값이므로 거짓인 False 출력
[4] 대입 연산자
- 변수에 값을 할당하는 연산자
- '+=', '-=', '*=', '/='은 C, Java와 동일, 파이썬은 추가적으로 '**=', '//=' 연산자 제공
- **= : 왼쪽 변수 값을 오른쪽 수 제곱한 후, 왼쪽 변수에 재할당
- //= : 왼쪽 변수 값을 오른쪽 수로 나눈 후, 내림한 값을 왼쪽 변수에 재할당
# 파이썬 대입 연산자
a, b= 3, 2
a*=b
print(a)
a**=b
print(a)
a/=b
print(a)
a//=b
print(a)
a%=b
print(a)
# 6
# 36
# 18.0
# 9.0
# 1.0
- 변수 a에 3 , 변수 b에 2 대입
- a*=b > a=a*b 이므로 a=3*2=6 > 6 출력
- a**=b > a=a**b 이므로 a=6**2=36 > 36 출력
- a/=b > a=a/b 이므로 a=36/2=18 > 18.0 출력
- a//=b > a=a//b 이므로 a=18.0//2=9.0 > 9.0 출력
- a%=b > a=a%b 이므로 a=9.0%2=1.0 > 1.0 출력
5. 조건문 - if문
- if문 조건이 참인지 거짓인지에 따라 경로 선택하는 명령문
swich문
: 파이썬은 자바, C언어와 달리 switch 문이 없음
(1) if문 문법
- if문 조건 참인 경우, if문 내의 명령문 실행
- if문 조건 거짓일 때, elif 문 조건 참인 경우, elif 문 내 명령문 실행
- else 문은 if문 조건 거짓이고 , 여러 개의 elif문 모두 거짓일 때 마지막으로 else문 안 명령문 실행
→ else 문은 안 써도 되고 쓸 경우, 한 번만 사용 가능
- elif 문은 여러 개 사용 가능
if 조건문 :
명령문;
elif 조건문 :
명령문;
else:
명령문;
# 파이썬 if문
score=input()
score=eval(score)
if score >=90:
print('A');
elif score >=80:
print('B');
elif score >=70:
print('C');
else:
print('F');
# 입력 : 60
# 출력 : F
- score 변수에 입력값 저장 > 입력값 : 60이므로 score = '60'
- 파이썬은 숫자가 입력되도 문자열로 받으므로 숫자로 바꿔주기 위해 eval 함수 적용 > score =60
- if score>=90 을 통해 score 값이 90이상일 경우, A 출력이지만 pass
- elif score >=80 을 통해 score 값이 90미만이지만 80이상인 경우, B 출력이나 pass
- elif score >=70 을 통해 score 값이 80미만이지만 70이상인 경우, C 출력이나 pass
- if 조건과 elif 조건문 모두 만족하지 못 했으므로 마지막인 else문 안의 명령문 실행 > F 출력
6. 반복문
(1) while 문
- while 조건문 참일 경우, 명령문 반복 수행
- 조건문 뒤에 반드시 콜론(':') 붙일 것
while 조건문 :
명령문
# 파이썬 while문
i=0
sum=0
while i<4:
i=i+1
sum=sum+i
print(sum)
# 10
- 변수 i 선언 및 0 초기화 > 변수 sum 선언 및 0 초기화
- while 반복문 속의 조건문 i<4 > i가 0이므로 참이기 때문에 반복 수행
- i=0+1=1 > sum=0+1=1 > 1<4 조건 참이므로 반복 수행
- i=1+1=2 > sum=1+2=3 > 2<4 조건 참이므로 반복 수행
- i=2+1=3 > sum=3+3=6 > 3<4 조건 참이므로 반복 수행
- i=3+1=4 > sum=6+4=10 > 4<4 조건 불만족이어서 반복문 탈출
- sum=10 이므로 10 출력
※ 파이썬은 do-while문 지원 X
(2) for문
- for문은 in 연산자 뒤 range 함수 사용하여 반복 범위 지정하거나 리스트 개수만큼 반복 수행
[1] 일반 for문
- range 함수는 범위 지정 함수
- range 함수에서 시작 생략 시 0, 스텝 값 생략 시 1이 default
for 변수 in range (시작, 종료, 스텝) :
명령문
'시작' 값부터 for문 반복 시마다 '스텝' 수만큼 값 증가하여 변숫값이 '종료' 값 **이상**일 때 반복문 종료
→ 종료 값 '이전'까지로 생각
- range 함수에 값 하나일 경우, (시작=0, 스텝=1) 이 default 값
- range 함수 값 두 개일 경우, 스텝=1 이 default
# 파이썬 for 문
i=0
sum=0
for i range(1,4):
sum=sum+i
print(sum)
# 6
- 변수 i 0 초기화, 변수 sum 0 초기화
- for 반복문으로 변수 i가 1부터 4미만까지, 즉 1부터 3까지 생략된 default step=1 1만큼 증가하여 총 3번 반복 수행
- sum=0+1=1 > step에 의해서 i 자동 1 증가 i=2 > 반복문 재수행
- sum=1+2=3 > step에 의해서 i 자동 1 증가 i=3 > 반복문 재수행
- sum=3+3=6 > step에 의해 i 자동 1 증가 i=4 > 4미만 조건 불만족으로 반복문 탈출
- sum 값인 6 출력
[2] for each문
- 시퀀스 자료형 요소들을 차례대로 변수에 대입하여 반복하는 명령문
for 변수 in 시퀀스자료형:
명령문
# 파이썬 for each문
li= [1,2,3,4,5]
for a in li:
print(a)
# 1
# 2
# 3
# 4
# 5
- li 변수에 리스트 [1,2,3,4,5] 대입
- for a in li 명령문을 통해 리스트 li의 요소 값을 a에 대입하여 처음부터 끝까지 반복문 수행 > 요소 5개이므로 5번
- print 문에 따라 1, 2, 3, 4, 5 출력
# 파이썬 이중 for each문
li= [[1,2], [3,4,5]]
for a in li:
for b in a:
print(b, end='')
# 12345
- 변수 li에 2차원 리스트 [[1,2], [3,4,5]] 대입
- for a in li 명령문을 통해 리스트 li의 요소들 a에 대입 > a가 1차원 리스트이므로 for b in a 명령문 재적용
- for b in a 명령문을 통해 리스트 li의 요소인 a 리스트의 요소들을 b에 대입
- print문에 따라 리스트 li의 요소인 a 리스트의 요소들을 출력하되 end='' blank 값이므로 개행없이 붙여 출력
- for a in li에서 a=[1,2] 일 때, for b in a에 의해 12출력
- for a in li에서 a=[3,4,5]일 때, for b in a에 의해 345출력
'WorkOut > 정보처리기사' 카테고리의 다른 글
SQL 응용 | 데이터베이스 기본_트랜잭션 (0) | 2024.04.04 |
---|---|
파이썬 | 함수와 클래스 (4) | 2024.03.29 |
파이썬 | 기본 구조와 자료형 (0) | 2024.03.26 |
자바 | 메서드와 클래스, 인터페이스 (0) | 2024.03.23 |
자바 | 자료형, 변수, 배열, 표준 입출력 함수, 문자열, 반복문 (0) | 2024.03.21 |