1 life 2 live

파이썬 기초 프로그래밍(1) - 변수와 계산 그리고 연습문제와 정리 [20.7.8] 본문

파이썬

파이썬 기초 프로그래밍(1) - 변수와 계산 그리고 연습문제와 정리 [20.7.8]

대희투 2020. 7. 8. 19:03

1. 변수

■ 두 숫자에 대한 기초 연산

 

■ 만약 31과 18에 대한 연산 결과를 알고 싶다면?

→ 위 방식은 너무 불편하다!

 

■ 값을 저장해놓고 돌려 쓸 수는 없을까?

→ A가 31이고 b가 18이라면, 31과 18에 대한 연산결과 출력

 

■ a,b 값을 변경해가면서 실습을 해보자

 

■ 정의: 변수(variable)

   º 변할 수 있는 값이 저장되는 공간

   º 그 공간을 나타내는 이름!

 

■ 다시 보기

   º 30이라는 숫자를 “a”라고 불리는 공간에 저장하라!

   º 17이라는 숫자를 “b”라고 불리는 공간에 저장하라!

   º a와 b라는 공간의 내용을 출력하라!

 

■ 변수와 값의 할당

   º 할당문(=) : 변수에 값을 할당하기 위한 구문

   º 형식: 변수명 = 변수에 저장 할 값

      • y = 1.0  # 1.0이라는 실수를 저장

      • x = 5 * ( 3 / 2 ) + 3 * 2 – y  # 여러가지 연산 결과를 저장

      • z = “python”   # 문자열을 저장

      • x = x + 1   # 변수에 대한 연산 결과를 저장

      • i = j = k = 1   # 여러가지 변수에 같은 값을 저장

   º 주의!

      • 할당문(=)는 “같다”를 의미하는 것이 아니다!

      • 할당문의 왼쪽에 값이 나올 수 없다! (예: 1 = x  # 오류)

 

■ 변수의 동시 할당

   º 각각의 변수에 값을 동시에 할당 할 수 있다!

   º 형식: 변수명들의 리스트 = 변수에 저장 할 값들의 리스트 (예: 변수1, 변수2, 변수3 = 값1, 값2, 값3)

   º 5번 줄의 연산 결과는 어떻게 될까?

      • a의 값은 c, b의 값은 b, c의 값은 a로 변경되어 a=30, b=20, c=10 이된다.

 

■ 변수를 이용한 연산

   º 변수에 저장된 값을 바탕으로 연산을 수행 할 수 있음

 

■ 두 번째 예제의 결과는? 

  º 두 번째 예제에서 1번 라인을 삭제하면 결과가 어떻게 변화하는가?

   → 'a가 정의되지 않았음' 을 알리는 오류

 

■ 명명 규칙 (Naming rule)  * 따르지 않을 경우 에러가 발생

   º 문자, 숫자, 그리고 밑줄 (_)로 구성

   º 문자나 밑줄로 시작 (숫자로 시작 할 수 없음)

   º 이름 중간에 공백이 들어갈 수 없음

   º 키워드 (예약어)는 변수 이름으로 사용될 수 없음

      • 키워드: 파이썬에서 미리 정한 특별한 의미를 가진 항목 

        예) import

   º 길이 제한이 없다.

   º 대소문자가 구별이 된다!

      • index, inDex, INDEX는 모두 다른 변수

 

■ 명명 가이드 (Naming guide)  * 따르지 않아도 실행에 문제는 없음

   º 의미있는 이름으로 선언 할 것

      • a = 30, b = 50  # 어떤 의미인지 전혀 알 수 없는 이름

      • value = 30, score = 50  # 이름만 봐도 사용 용도를 알 수 있음

   º 소문자로 시작

   º 이름이 길어질 경우, 언더바(“_”)를 이용하여 단어를 연결

      • this_is_my_variable

      • average_score

 

■ 실습 : 여러 값을 함께 출력하기

   º print(값) : 단일 값의 출력

   º print(값1, 값2, …) : 복수개의 값의 출력

 

■ 실습 : 값 입력 받기

   º input(“메시지”)

      • 메시지를 출력한 후, 사용자가 입력한 값을 문자열 형태로 받아들인다

 

■ 실습 : 값 입력 받기 2

   º 17을 입력하면 어떤 결과가 나올까? ->오류 발생

 

■ 값 입력 받기 3

   º int(): 주어진 값을 정수(integer)로 변환하여 준다!

   º 17을 입력하면 어떤 결과가 나올까? -> 원하는 결론이 나온다!

 

■ 변수(variable) vs 상수(constant)

   º 변수: 변할 수 있는 값

   º 상수: 변하지 않는 값

   º 실제로는 값을 변화시킬 수 있음

   º “상수”의 의미 전달을 위해 변수와는 다른 명명 스타일 적용

      • 상수는 대문자만으로 이름을 작성 (예: PI)

 

 

2. 계산

■ 표준 산술 연산자

연산자

의미

예시

결과

+

덧셈

34 + 1

35

-

뺄셈

34.0 – 0.1

33.9

*

곱셈

300 * 30

9000

/

실수 나눗셈

1 / 2

0.5

//

정수 나눗셈

1 // 2

0

**

제곱

4 ** 0.5

2

%

나머지

20 % 3

2

 

■ 연산자 우선순위: 수학에서의 연산 우선순위와 유사!

   1. 지수 연산 (**)

   2. 곱셈 (*), 나눗셈 (/ 또는 //), 나머지 연산자 (%)

      º 왼쪽에서 오른쪽 순서로 적용

   3. 덧셈 (+)과 뺄셈 (-)

      º 왼쪽에서 오른쪽 순서로 적용

 

■ 괄호를 사용하여 우선순위 조정 가능!

 

■ 복합 연산자

   º 할당 연산자 + 산술 연산자의 축약형

■ 예)

   º x += 3과 x = x + 3는 동일한 의미

   º x *=  3 + 2 * 3 → x = x * 9

 

 

3. 연습문제

■ 문제1) 아래와 같이 동작하는 프로그램을 작성하시오.

   1) 숫자 입력

   2) 몫과 나머지 계산 후 출력!

 

■ 문제2) 초단위의 시간을 받아서 몇 분 몇 초인지를 계산하기 위한 프로그램을 작성하시오.

 

■ 문제3) 화씨온도(°F)를 섭씨온도(°C)로 변경하기 위한 프로그램을 작성하시오.

   º 변경 식

 

■ 문제4) 두 점 사이의 거리를 계산하기 위한 프로그램을 작성하시오.

   º 거리 계산 식: √((x_1- x_2 )^2+(y_1- y_2 )^2 )

 

ㄱㄱ

 

4. 정리

■ 변수

   º 변할 수 있는 값이 저장되는 공간

   º 변수의 이름에는 규칙이 있다!

■ 계산

   º 여러가지 산술 연산이 가능함

       • +, -, /, *, **, % 등

   º 연산자간에는 우선순위가 존재함

   º 괄호 사용을 통하여 우선순위를 조정 가능!

 

728x90
반응형
Comments