input함수 : 데이터 입력
print함수 : 데이터 출력
: 안내(가이드)문구를 넣고 매개변수를 넣을 수 있음
* 주의점
- 모든 데이터는 문자(열)로 처리됨
- 정수형 데이터를 입력하더라도 문자(열)로 처리됨
- input으로 받는 데이터는 모두 문자(열) 타입
필요한 데이터가 다른 타입일 경우, casting 함수로 변환
print 함수를 이용한 여러가지 출력 방법
- 한줄에 2개 이상의 데이터 출력을 원할 경우 (,) 사용
- print는 데이터 출력 후 자동 개행하기 때문에 원치 않을 경우 마지막에 end함수를 입력하면됨
- f를 (')앞에 입력, 변수의 값은 {}안에 입력 (,) 로 구분하지 않아도됨
- 나중에 format안에 매개변수 값을 넣을 수 있음
- 매개변수가 2개 이상일 경우, index에 값을 비워두면 0,1,2~ 순서대로 입력됨
- index에 숫자를 넣을 경우 숫자대로 입력됨
실습!
가장 많이 사용되는 특수문자
탭: \t
개행: \n
형식문자를 이용한 데이터 출력
%s 문자열
%d 정수
%f 실수
소수점을 자릿수를 정하고 싶을땐 % 와 f 사이에(.)과 원하는 숫자를 넣으면 됨
e.g.,
실습!
국어, 영어, 수학 점수를 입력하고 합계를 출력해보자.
연산자 종류
- 산술: +, -, *, /, %(나머지 구함), //(몫만 구함), **(제곱수)
- 할당:=, +=, -=, *=, /=, %=, //=
- 비교: >, >=, <, <=, ==, !=
- 논리: and, or, not
산술 연산자(덧셈, 뺄셈)
- 숫자와 문자 덧셈 불가
- 문자와 문자 덧셈 가능
- 문자와 문자 뺄셈 불가
실습!
이번달 알바비와 카드값을 입력하고, 남은 금액이 얼마인지 출력해보자.
산술 연산자(곱셉, 나눗셈)
- 곱셈
문자(열)을 이용한 곱셈 가능
- 나눗셈
나눗셈 결과는 항상 float
산술 연산자 (% 나머지, // 몫)
divmod()함수
- 나머지와 몫을 한번에 구함
- 첫번째: 몫(0), 두번째: 나머지(1)
산술연산자(** 거듭제곱)
- 같은 수를 여러번 곱한 값을 구함
e.g.,
num1 = 2
num2 = 3
result = num1 ** num2
(2 x 2 x 2)
산술 연산자(제곱근)
- 거듭제곱의 반대
- n의 m제곱근 공식: n ** (1/m)
모듈을 사용할때는 import 를 사용
python에는 다양한 모듈이 있고 개발 속도를 향상 시킬 수 있음
math 모듈(라이브러리)의 sprt()와 pow()함수
- pow()함수 : 거듭제곱
- sqrt()함수 : 제곱근을 구하는 함수지만 항상 2제곱근만 얻을 수 있음
할당(대입)연산자
e.g.,
num1 = 10
num2 = 20
에서 '=' 는 할당 연산자로 오른쪽의 값을 왼쪽에 할당(대입)
복합 연산자
: 2개 이상의 연산을 복합적으로 사용
+=: 덧셈 연산 후 할당
-=: 뺄셈 연산 후 할당
*=: 곱셉 연산 후 할당
/=: 나눗셈 연산 후 할당
%=: 나머지 연산 후 할당
//=: 몫 연산 후 할당
**=: 거듭제곱 연산 후 할당
비교 연산자(숫자 비교)
: 연산 결과는 bool(True, False)
실습
자동차의 전장과 전폭을 입력하면 자동차 기계 세차 가능여부를 출력하는 코드를 작성해보자. (최대 전장 길이: 5200mm, 최대 전폭 길이: 1985mm)
비교 연산자(문자 비교)
- 아스키 코드: 문자를 숫자로 정의한 표
(검색을 통해 아스키 코드표 확인 가능)
- 따라서 문자 비교도 숫자 비교와 동일
실습
문자와 아스키 코드 변환
- ord(): 문자 → 숫자
- chr(): 숫자 → 문자
문자열 비교: 문자열 자체 비교
논리 연산자
- 피연산자의 논리(True, False)를 이용한 연산
- 논리 연산자 종류: and, or, not
- and 연산: A and B: A와 B모두 True인 경우만 True
- or 연산: A or B: A와 B중 하나만 True인 경우 True
- not 연산: A의 상태를 부정하는 결과를 나타냄 (True->False, False->True)
operator 모듈
- 산술 연산자 관련 함수
+:operator.add()
-:operator.sub()
*: operator.mul()
/: operator.truediv()
%: operator.mod()
//: operator.floordiv
**: operator.pow()
-
비교 연산자 관련 함수
==: operator.eq()
!=: operator.ne()
'>: operator.gt()
'>=: operator.ge()
<: operator.lt()
<=: operator.le()
-
논리 연산자 관련 함수
and: operator.and()
or:operator.or()
not: operator.not_()