1 life 2 live
파이썬 기초 프로그래밍(1) - 변수와 계산 그리고 연습문제와 정리 [20.7.8] 본문
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. 정리
■ 변수
º 변할 수 있는 값이 저장되는 공간
º 변수의 이름에는 규칙이 있다!
■ 계산
º 여러가지 산술 연산이 가능함
• +, -, /, *, **, % 등
º 연산자간에는 우선순위가 존재함
º 괄호 사용을 통하여 우선순위를 조정 가능!
'파이썬' 카테고리의 다른 글
파이썬 기초 프로그래밍(4-2) - 반복문 (While 구문, Break, Continue 및 실습 문제와 정리 [20.7.13] (0) | 2020.07.13 |
---|---|
파이썬 기초 프로그래밍(4-1) - 반복문 (For 구문 및 실습 문제) [20.7.12] (0) | 2020.07.12 |
파이썬 기초 프로그래밍(3-2) - 조건문(관계/논리 연산자), 실습 문제와 정리 [20.7.11] (0) | 2020.07.11 |
파이썬 기초 프로그래밍(3-1) - 조건문(관계/논리 연산자) [20.7.10] (0) | 2020.07.10 |
파이썬 기초 프로그래밍(2) - 문자열 및 수학함수 그리고 연습문제와 정리[20.7.9] (0) | 2020.07.09 |