• 검색 결과가 없습니다.

3.1.

N/A
N/A
Protected

Academic year: 2022

Share "3.1."

Copied!
47
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

3장. 기본 작업 수행 ­ 자료형, 연산자

3.1. 수와 연산자

(2)

atom.io

(3)

3

https://youtu.be/XYvP4NeFo0Y

맥용 atom 설치

(4)

https://youtu.be/5RrDUH5Bnv8

(5)

5

https://youtu.be/8Z6_JSvKux0

윈도용 atom 설치

(6)

▪ 윈도 운영체제에서 python 설치 & atom 설치

▪ 우선 miniconda라는 파이썬 구동 소프트웨어를 다운받는다.

▪ https://conda.io/miniconda.html

▪ 미니콘다를 다운받아서 설치한다

▪ 아래 동영상을 참고한다

▪ https://youtu.be/5RrDUH5Bnv8

▪ 윈도용 atom 에디터를 다운받아 설치한다

▪ atom은 윈도 & 맥용 버전이 있다

▪ 프로그램을 작성하고 수행할 수 있는 통합 개발환경이다

▪ atom 을 실행시키고 python 프로그램을 작성한다

▪ ____.py 라는 이름으로 python 프로그램을 저장한다

▪ 맥에서는 comm-i 라는 단축 키로 컴파일하여 실행한다

(7)

7

(8)
(9)

9

https://tutorial.djangogirls.org/ko/intro_to_command_line/

(10)

키보드 기호의 이름 알아보기 1

`

역따옴표, grave, backquote등 ( 왼쪽 괄호, 여는 괄호

~ 물결표, tilde, wiggle ) 오른쪽 괄호, 닫는 괄호

! 느낌표, exclamation mark, bang - 빼기표, 풑임표, 하이픈, minus, dash

@ 골뱅이, 앳 사인, snail(달팽이) _ 밑줄문자(표), 언더스코어, 언더바,

# 해시기호, 샾, pound, number + 더하기표, plus sign

$ 달러기호, cash, currency symbol = 등호, equal sign

% 퍼센트기호 {, } 왼쪽, 오른쪽 중괄호,

여는, 닫는 중괄호

^ 캐럿, 꺽쇠기호, circumflex, up arrow [, ] 왼쪽, 오른쪽 대괄호,

(11)

키보드 기호의 이름 알아보기 2

\ 역슬래시, 프로그래밍에서는 탈출문자라

고도 함, ₩로 표시되기도 함

커맨드키, 애플키 - macOS에서 다른 키 와 조합하여 특수한 기능을 수행

: 콜론, 쌍점 Tab 탭키 - 커서를 여러칸 움직이는 키

; 세미콜론, 반쌍점 Esc 이스케이프키, 탈출키

“ 큰따옴표, 겹따옴표, quotation mark Enter 엔터키, macOS에서는 리턴키

‘ 작은따옴표, apostrophe shift 시프트키 - 대/소문자를 입력하거나 한글 두벌식 키의 된소리입력시 사용 . 마침표, dot, period, full stop Caps Lock 캡스록 - 로마자 대/소문자를 바꾸는 키

? 물음표, question mark Delete 삭제키, delete key

fn 기능키, 펑션키, 컴퓨터의 기능, 동작을

할당할 수 있음 Insert 삽입키, insert key

Ctrl 혹은 control 키 - 다른 키와 조합하여 특 수한 기능을 수행하는 키

PgUp,

PgDn 페이지업, 페이지 다운

Alt 혹은 option 키 - control 키와 마찬가지

로 다른 키와 조합하여 기능수행 Home 홈키

(12)

수 형식과 연산자

3.1. 수와 연산자

▪ 자료형에는 정수형, 실수형 등이 있다.

▪ int와 float 으로 표현되는 파이썬의 정수형과 실수형 숫자들은 다음 연산이 가능하다.

int 정수(integer)

float 실수

+, -, *, / 더하기,빼기, 곱하기, 나누기

% 나머지 (modulo)

//

** 제곱

(13)

[예제 3-1] int형 기본 연산자 연습

13

3.1. 수와 연산자

(14)

[예제 3-2] float형 기본 연산자 연습

3.1. 수와 연산자

(15)

Int/float형을 사용한 연산자 연습

15

3.1. 수와 연산자

▪ 일반적으로 int형과 float형을 함께 사용하는 경우가 많다.

▪ int형과 float형이 함께 쓰이는 경우에 그 결과 값은 float형이다.

[예제 3-3] 정수만을 사용한 연산자 연습

[예제 3-4] 실수만을 사용한 연산자 연습

다음 수식을 직접 실행시켜보자.

1) 2 * 3 2) 2.0 * 3

>>> 2 * 3

6 >>> 2.0 * 3

6.0

다음 수식을 직접 실행시켜보자.

1) 7 // 3 * 1.2 + 3 // 2 >>> 7 // 3 * 1.2 + 3 // 2 3.4 >>>

(16)

‘//’ 연산자

3.1. 수와 연산자

▪ ‘//’ 연산자는 나눗셈 연산의 몫만을 결과로 나타낸다.

예를 들면, 7//3은 2 이다.

[예제 3-6] ‘//’연산자 연습

다음 수식을 직접 실행시켜보자.

1) 26 // 2 2) 31 // 4

>>> 26 // 2

13 >>> 31 // 4

7

(17)

‘%’ 연산자

17

3.1. 수와 연산자

▪ ‘%’ 연산자는 나눗셈 연산의 나머지를 계산한다- 모듈로 연산이라고도 한다.

[예제 3-7] ‘%’ 연산자 연습

다음 수식을 직접 실행시켜보자.

1) 26 % 2 2) 31 % 4

>>> 26 % 2

0 >>> 31 % 4

3

(18)

[퀴즈3-1]

3.1. 수와 연산자

▪ 다음 문장의 실행 결과를 예측하여 보자.

>>> 20 % 6

정답 :

>>> 21 / 5 정답 :

>>> 21 // 5

정답 :

(19)

‘**’ 연산자

19

3.1. 수와 연산자

다음 수식을 직접 실행시켜보자.

1) 2 ** 4 2) 4 ** 6

>>> 2 ** 4 16 >>> 4 ** 6 4096

>>>

다음 수식을 직접 실행시켜보자.

1) 3.1 ** 4.2 2) 2.6 ** 5.4

>>> 3.1 ** 4.2 115.80281433592612

>>> 2.6 ** 5.4 174.12297512053922

>>>

(20)

연산자 결합 법칙 (Operator Associativity)

3.1. 수와 연산자

▪ 연산 식에서 같은 연산자가 연속해서 나올 경우에 


연산 순서를 왼쪽부터 취할 것인지 아니면 오른쪽부터 취할 것인지 결정하는 것

▪ 파이선에서의 연산자 결합 법칙

연산자 결합 법칙

** 오른쪽 ! 왼쪽

- 왼쪽 ! 오른쪽

*, /, //, % 왼쪽 ! 오른쪽

+, - 왼쪽 ! 오른쪽

(21)

연산자 우선순위

21

3.1. 수와 연산자

▪ 하나 이상의 연산자가 수식에 나타날 때는 우선순위 규칙을 따름

• 괄호는 가장 높은 순위를 가짐(즉, 괄호 안의 수식이 먼저 계산됨) [예제 3-10] 연산자 우선순위 연습

[예제 3-11] 연산자 우선순위 연습

다음 수식을 직접 실행시켜보자.

1) ( 2 + 4 ) * 5 2) 4 * ( 26 ­ 9 )

3) ( 4 + 5 ) ** ( 9 ­ 6 )

>>> ( 2 + 4 ) * 5

30 >>> 4 * ( 26 – 9 )

68 >>> ( 4 + 5 ) ** ( 9 – 6 )

729 >>>

다음 수식을 직접 실행시켜보자.

1) 4 * 6 - 5 2) 9 + 54 / 6

>>> 4 * 6 - 5

19 >>> 9 + 54 / 6

18 >>>

(22)

연산자 우선순위

3.1. 수와 연산자

▪ 지수(**)는 다른 연산자들 보다 높은 우선 순위를 가짐

[예제 3-12] 연산자 우선순위 연습

다음 수식을 직접 실행시켜보자.

1) 2 ** 4 + 5 2) 6 * 5 ** 2

>>> 2 ** 4 + 5 21

>>> 6 * 5 ** 2 150

>>>

(23)

[실습3-1] 연산자들의 복합

23

3.1. 수와 연산자

(24)

[실습3-2] 실수가 포함된 수식 계산하기

3.1. 수와 연산자

(25)

[퀴즈 3-2]

25

3.1. 수와 연산자

▪ 다음 문장의 실행 결과를 예측하여 보자.

>>>

5 + 12 // 7 * 3

정답 :

>>>

15 / 2 + 21 % 4 - 2 ** 3

정답 :

(26)

3장. 기본 작업 수행 ­ 자료형, 연산자

3.2. 변수

(27)

할당문 (Assign Statement)

27

3.2. 변수

▪ 변수(문자 또는 문자들로 구성된 이름)에 값(Value)을 할당함

• 변수는 값(Value)을 참조하는 이름으로 문자라고 생각하면 됨

▪ 할당문은 변수에 값을 지정하기 위해 사용됨

• 할당문의 왼쪽 : 변수

• 할당문의 오른쪽 : 값

▪ 할당문의 예

• a = 20

– a라는 변수에 20 이라는 값을 할당함

• b = 30

– b라는 변수에 30 이라는 값을 할당함

• b = a

– 변수간의 할당문에서는 실제로 참조를 할당함

(28)

[예제 3-13] 할당문 사용 연습

3.2. 변수

(29)

[예제 3-14] 할당되지 않은 변수는 에러

29

3.2. 변수

▪ 변수는 사용되기 전에 반드시 할당 되어야 함

다음 명령문을 직접 실행시켜본 후 결과를 비교해보자.

1)number 2)number = 5

>>> number

Traceback(most recent call last):

File “<pyshell#0>”, line 1, in <module>

number

NameError: name ‘number’ is not defined

>>> number = 5

>>> number

5 >>>

(30)

변수명 (Naming) 규칙

3.2. 변수

▪ 변수 이름을 결정할 때에 고려해야 할 규칙

변수명 규칙

1

변수의 이름은 문자, 숫자 그리고 Underscore(_)로만 이루어진다.

다른 기호를 사용하면 구문 에러(Syntax Error)이다.

(예) Money$ : 구문 에러, $는 사용할 수 없다.

2

변수명은 문자 또는 Underscore로만 시작해야 한다. 즉 숫자로 시작 하 면 안된다.

(예) 7up, 5brothers : 숫자로 시작했기 때문에, 역시, 구문 에러이다.

3

파이썬 지정단어 (Keyword, Reserved word)들은 변수명으로 사용할 수 없다.

(지정 단어 목록 참조)

4

파이썬에서는 대문자와 소문자를 구분한다.

(31)

키보드 기호의 이름 알아보기 1

`

역따옴표, grave, backquote등 ( 왼쪽 괄호, 여는 괄호

~ 물결표, tilde, wiggle ) 오른쪽 괄호, 닫는 괄호

! 느낌표, exclamation mark, bang - 빼기표, 풑임표, 하이픈, minus, dash

@ 골뱅이, 앳 사인, snail(달팽이) _ 밑줄문자(표), 언더스코어, 언더바,

# 해시기호, 샾, pound, number + 더하기표, plus sign

$ 달러기호, cash, currency symbol = 등호, equal sign

% 퍼센트기호 {, } 왼쪽, 오른쪽 중괄호,

여는, 닫는 중괄호

^ 캐럿, 꺽쇠기호, circumflex, up arrow [, ] 왼쪽, 오른쪽 대괄호, 여는, 닫는 대괄호

& 앰퍼샌드, and, amper | 수직선, pipe, verti-bar

* 별표, 스타, asterisk / 빗금, 슬래시, 나누기,

(32)

키보드 기호의 이름 알아보기 2

\ 역슬래시, 프로그래밍에서는 탈출문자라

고도 함, ₩로 표시되기도 함

커맨드키, 애플키 - macOS에서 다른 키 와 조합하여 특수한 기능을 수행

: 콜론, 쌍점 Tab 탭키 - 커서를 여러칸 움직이는 키

; 세미콜론, 반쌍점 Esc 이스케이프키, 탈출키

“ 큰따옴표, 겹따옴표, quotation mark Enter 엔터키, macOS에서는 리턴키

‘ 작은따옴표, apostrophe shift 시프트키 - 대/소문자를 입력하거나 한글 두벌식 키의 된소리입력시 사용 . 마침표, dot, period, full stop Caps Lock 캡스록 - 로마자 대/소문자를 바꾸는 키

? 물음표, question mark Delete 삭제키, delete key

fn 기능키, 펑션키, 컴퓨터의 기능, 동작을

Insert 삽입키, insert key

(33)

[참고] 파이썬 지정 단어 (Keyword, Reserve Word)

33

3.2. 변수

>>> import keyword

>>> keyword.kwlist

[‘False’, ‘None’, ‘True’, ‘and’,

‘as’, ‘assert’,

‘break’, ‘class’, ‘continue’,

‘def’, ‘del’,

‘elif’, ‘else’, ‘except’,

‘finally’, ‘for,

’from’, ‘global’, ‘if’, ‘import’,

‘in’, ‘is’,

‘lambda’, ‘nonlocal’, ‘not’, ‘or’,

‘pass’,

‘raise’, ‘return’, ‘try’, ‘while’,

‘with’,

‘yield’]

>>> len(keyword.kwlist) 33

>>>

keyword를 import하여 파이썬 지정 단어를 확인해 보자.

1) keyword.kwlist 명령어는 파이썬 지정 단 어를 배열 형태로 나열해 준다.

2) len 함수를 사용해서 파이썬 지정 단어의 개 수도 확인해 보자.

▪ keyword를 import 하면 파이썬에서 지정한 단어들을 확인 할 수 있음

• 파이썬 지정 단어는 변수명으로 사용 할 수 없음에 유의하자.

(34)

[실습 3-3] 올바른 변수명이 아닌 이유

3.2. 변수

(35)

[퀴즈 3-3]

35

3.2. 변수

▪ 아래의 ‘변수명'이 올바른지 O/X로 표현해보자.

>>> True

>>> 3apples

>>> elif

>>> new_score

>>> Brother

(  )

(  )

(  )

(  )

(  )

(36)

[참고] 의미 있는 변수명

3.2. 변수

a = 26

b = 54 math = 26

3개의 시험 성적이 주어졌을 때, 시험 성적의 총합과 평균을 구하여라.

• 수학: 26점

• 영어: 54점

• 역사: 96점

▪ 변수명은 의미 있게 만들어져야 함

• 그 변수의 역할에 맞게 이름이 지어져야, 프로그램을 검토할 때나 협업 시 공유할 때 
 도움이 됨

– 다음 예제를 통해, 실습 A와 실습 B의 차이를 보도록 하자.

예제 실습 A 예제 실습 B

예제

(37)

한번에 여러 변수 할당 (Multiple Assignments)

37

3.2. 변수

▪ 한번에 여러 변수에 할당 시 변수와 값의 개수가 일치해야 함 [예제 3-15] 한 번에 여러 변수 할당 연습

>>> number_1, number_2 = 511

Traceback (most recent call last):

File "<pyshell#6>", line 1, in <module>

number_1, number_2 = 511

TypeError: 'int' object is not iterable

>>> number_1, number_2 = 2, 4, 5 Traceback (most recent call last):

File "<pyshell#7>", line 1, in <module>

number_1, number_2 = 2, 4, 5

ValueError: too many values to unpack (expected 2)

>>> number_1, number_2 = 6, 9

>>> number_1

6 >>> number_2

9 >>>

다음 명령문을 직접 실행시켜 본 후 결과를 비교해보자.

1) number_1, number_2 = 511 2) number_1, number_2 = 2, 4, 5 3) number_1, number_2 = 6, 9

(38)

변수에 변수 할당

3.2. 변수

▪ 할당문의 오른쪽에 문자가 올 때는 반드시 먼저 값을 할당 받은 후, 할당문의 오른쪽에 문자를 사용해야 한다.

[예제 3-16] 변수에 변수를 할당 1

>>> number_1 = number_2

Traceback (most recent call last):

File "<pyshell#1>", line 1, in <module>

number_1 = number_2

NameError: name 'number_2' is not defined

>>> number_2 = 511

>>> number_1 = number_2

>>> number_1

511 >>> number_2

511 >>>

다음 명령문을 직접 실행시켜본 후 결과를 비교해보자.

1) number_1 = number_2

2) number_2 = 511, number_1 = number_2

(39)

변수에 변수 할당

39

3.2. 변수

▪ 같은 경우로 문자를 사용할 때는 초기값을 할당해야 함

[예제 3-17] 변수에 변수 할당 2

(40)

[참고] 할당문의 실행과정

3.2. 변수

a 1

a 1 b a = 1

b = a

a = a + 1

(a+1) 수식에 의해서 a에 새로운 값이 할당됨 2

신규

Add operator(+)에 의해서 새로 생성된 객체

1

2

3

(41)

[퀴즈 3-4]

41

3.2. 변수

▪ 다음 코드의 괄호 안 결과를 예측하여 보자

>>> number1 = 5

>>> number2 = number1

>>> number1 = number1 + 2

>>> number1

( )

>>> number2

( )

(42)

복합 대입 연산자 : +=, -=, *=, /=, //= , %=

3.2. 변수

▪ 연산과 할당을 동시에 표현

복합 대입 연산자 의미

a += 1 a = a + 1

a -= 1 a = a ­ 1

a *= 1 a = a * 1

a /= 1 a = a / 1

a //= 1 a = a // 1

a %= 1 a = a % 1

(43)

[실습 3-4] 복합 대입 연산자

43

3.2. 변수

(44)

[예제 3-18] 변수들의 연산식

3.2. 변수

(45)

[예제 3-19] 같은 변수에 대한 연산식

45

3.2. 변수

(46)

[예제 3-20] 같은 변수에 대한 복합 대입 연산자 연습

3.2. 변수

(47)

[연습문제]

47

3.2. 변수

1. int형인 수자들이 나눗셈 연산을 하면 결과의 자료형은 무엇인가?

예 :>>>96 / 4

2. ‘//’ 연산자는 나눗셈 연산의 ( ) 만을 결과로 나타내고,

‘%’ 연산자는 나눗셈 연산의 ( ) 만을 결과로 나타낸다.

3. 다음 실행문의 잘못 된 부분을 찾으시오.

4. 다음 실행문이 잘못된 이유를 기술하시오.

>>> b = a + 1

>>> 3number = 1

참조

관련 문서

약국은 당초 수집 목적과 합리적으로 관련된 범위에서 정보주체에게 불이익이 발생하는지 여부, 암호화 등 안전성 확보에 필요한 조치를 하였는지 여부 등을

[r]

[r]

[r]

(Taekwondo, Weight Lifting Players) (90 min × 6 days/week) Warming

15) 세광음악출판사

[r]

자석 팽이는 볼록한 두 부분에는 고리 자석이 들어 있고, 받침대에는 팽이의 고 리 자석 위치와 일치하는 부분에 삼각형 모양의 자석이 네 개 들어 있다.. 그리고