Python 변수와 계산
변수
- 변수(variable)는 값을 저장하는 공강
- 변수는 값을 저장하는 상자라 생각할 수 있다.
변수와 메모리
- 변수는 메모리에 만들어진다.
변수 생성
변수를 만드려면? >>
변수 이름 = 값
>>> score = 20
>>> score
20
>>> print(score)
20
변수의 사용
- 생성된 변수에는 얼마든지 다른 값을 저장할 수 있다.
- 변수에는 다른 변수의 값도 저장 할 수 있다.
- 파이썬의 변수에는 정수뿐만 아니라 문자열도 저장 할 수 있다.
변수가 저장하는 것
- 파이썬에서 변수는 어떤 데이터든지 저장 할 수 있다.
변수의 이름
- 의미 있는 이름 사용
- 소문자와 대문자는 서로 다른게 취급된다.
- 변수의 이름은 영문자와 숫자, 밑줄(_)로 이루어진다.
- 변수의 이름 중간에 공백이 들어가면 안 된다.
단어를 구분하려면 밑줄(_)을 사용한다.
식별자(Identifiler)
낙타표기법
- 낙타체는 변수의 첫 글자는 소문자로, 나머지 단의 첫 글자는 대문자로 적는 법이다.
예를 들면 myNewCar 처럼 첫 'm'은 소문자로, 나머지 단어들의 첫 글자는 대문자로 표기.
상수
- 상수 (constant) 는 한번 값이 결정되면 절대로 변경되지 않는 변수.
프로그램에서 대문자로 지은 변수는 상수이다 ...
주석
- 주석(comment)은 소스코드에 붙이는 설명글
python 주석 = '#'
수식과 연산자
>>> 3+4
7
>>>3.14*5*5
78.5
연산자와 피연산자
- 연산식, 수식(expression)= 피연산자들과 연산자의 조합
- 연산자 (operator) 는 연산을 나타내는 기호
- 피연산자 (operand) 는 연산의 대상이 되는 것
산술 연산자
+ , -, *, //, /, %
나눗셈
실수 / floor division //
지수 계산
- 지수(power)를 계산하려면 ** 연산자를 사용한다.
>>>2**7
128
원리금 계산
>>>a=1000
>>>r=0.05
>>>n=10
>>>a*(1+r)**n # 복리계산
1628.894626777442
나머지 계산
>>> 7 % 4
3
초 단위의 시간을 받아서 시 분 초를 출력.
import time
current = time.time(); # 현재시간을 초단위로 return
hour = int(current)//60//60%24 + 9
minute = int(current)//60%60
second = int(current)%60
print("current = ", current)
print("current = ", current, type(current))
print(type(hour), type(minute), type(second)) # 연산자 오버로딩
print("%02d:%02d:%02d" % (hour, minute, second)) # 연산자 오버로딩
연산자의 우선 순위
>>> 10 + 20/2
20.0
>>> (10 + 20) / 2
15.0
In [6]: 2*3**2
Out[6]: 18
In [7]: (2*3)**2
Out[7]: 36
괄호의 사용
복리계산
>>>a*(1+r)**n # 복리계산
24달러를 복리 6%로 382년 동안 계산한것..
24*(1+0.06)**382
함수 호출
- 함수 (function)란 특별한 작업을 담당하는 명령어들의 모임이다.
- 파이썬이 기본으로 제공하는 내장 함수는 상당히 많다
내장함수
>>> value=abs(-3)
>>>round (1.2345) #HALF_EVEN
1
>>>round(1.9876)
>>> from math import * # 한번만 하면 된다
>>> squt(4.0)
2.0
>>> x=2.0
>>> y=3.0
>>> sqrt(x**2+y**2)
3.605551275463989
등산 시간 계산
산악 자전거를 평지 시속 20km/h
오르막 10km/h 내리막 30km/로 주행했을 때
다음 경로의 시간을 구하기.
from math import *
time1 = 10/20
height = sqrt(3**2+4**2)
time2 = height/10
time3 = height/30
time4 = 8/20
total = time1+time2+time3+time4
print(total)
In [57]: 18/20 +5/10 + 5/30
Out[57]: 1.5666666666666667
In [60]: (18/20 + 5/10 + 5/30) * 60
Out[60]: 94.0
In [62]: 94.0/60
Out[62]: 1.5666666666666667
input() 함수
- 사용자와의 상호작용
input() 함수의 구조
변수 = input ("프롬프트 문자열")
문자열 입력
year = input ("year >>>")
print("year is" + year + "thx")
month = input("month >>>")
print("month is " + month + "thx")
year>>>
year is 2023 thx
month>>>
month is 3 thx
숫자 입력
x = input("첫번째 정수 : ")
y = input("두번째 정수 : ")
sum = x + y
print ("합은", sum)
출력 결과
첫번째 정수 : (입력한 정수 x)
두번째 정수 : (입력한 정수 y)
합은 xy (문자열로 간주하여 합침)
-----------------------------------------------------------
x = int(input("첫번째 정수 : "))
y = int(input("두번째 정수 : "))
sum = x + y
print ("합은", sum)
출력 결과
첫번째 정수 : (입력한 정수 x)
두번째 정수 : (입력한 정수 y)
합은 z
자료형
- 정수 (integer), 실수 (floating-point), 문자열(string)
but 실수에서 i754를 따라 근사치로 계산된다. .. 대안은 라이브러리를 사용하는것..
구의 부피 계산하기
- 지구에서 가장 가까운 별은 프록시마 켄타우리(Proxima Centauri) 별이라고 한다
프록시마 켄타우리는 지구로부터 4 * 10**12km 떨어져 있다고 한다.
빛의 속도로 프록시마 켄타우리까지 간다면 시간이 얼마나 걸리는지 계산
< ipython >
In [76]: (40*10**12)/300000
Out[76]: 133333333.33333333
In [77]: (40*10**12)/300000/60
Out[77]: 2222222.222222222
In [78]: (40*10**12)/300000/60/60
Out[78]: 37037.03703703704
In [79]: (40*10**12)/300000/60/60/24
Out[79]: 1543.20987654321
In [80]: (40*10**12)/300000/60/60/24/365
Out[80]: 4.227972264501945
-------------------------------------------------------
<jshell>
jshell> (40*Math.pow(10,12))/300000/60/60/24/365
$5 ==> 4.227972264501945
-------------------------------------------------------
In [1]: speed = 300000 # 30만 km/sec
In [2]: distance = 40 * 10 ** 12
In [3]: secs = distance/speed
In [4]: light_year = secs/(60*60*24*365)
In [5]: print(light_year)
4.227972264501945
문자열
- 컴퓨터에게는 숫자가 중요하지만 인간은 주로 문자열(String)를 사용하여 정보를
표현하고 저장하므로 문자열의 처리도 무척 중요하다.
문자열이란?
- 문자열(string)은 문자들의 순서있는 집합(sequence of characters)
문법 오류
- 문법 : 프로그램의 문장을 바르게 구성하기 위한 규칙
여러줄의 문자열 MultiLineString
- """(큰 따옴표3개) 나 '''(작은 따옴표 3개)
특수 문자열
: 문자 앞에 \(이스케이프문자)가 붙으면 문자의 특수한 의미를 잃어버린다.
문자열의 연결
- 양쪽이 다 문자열이여야 문자열의 연결이 성립된다.
문자열과 정수 간의 변환 : 값에 타입을 주어서 문자열과 정수간의 타입을 변환시킨다.
In [7]: "Student"+str(26)
Out[7]: 'Student26'
In [8]: price = int("259000")
In [9]: height = float("290.54")
문자열의 반복
>>> message = "Hi"
>>> print(message*3)
Hi Hi Hi
문자열의 출력
>>> price = 10000
>>> print("상품의 가격은 %s원입니다." % price)
상품의 가격은 10000원입니다.
인덱싱
- 인덱싱(indexing)이란 문자열에 [과 ]을 붙여서 문자를 추출하는 것이다.
인덱스는 0 부터 시작
리스트
- 파이썬은 여러 개의 값을 모아서 하나의 변수에 저장 할 수 있다.
- 리스트는 [ ] 안에 값을 나열하고 값과 값 사이에 콤마를 찍으면 된다.
>>> shopping_list = ['milk', 'eggs', 'cheese'. 'butter', 'cream']
>>> print(shopping_list)
['milk', 'eggs', 'cheese'. 'butter', 'cream']
Indexing
>>> print(shoppint_list[2])
cheese
>>> shoppint_list[2]='apple'
>>> print(shopping_list)
['milk', 'eggs', 'apple'. 'butter', 'cream']
핵심정리
- 변수의 개념 이해.
변수는 값을 저장하는 산자와 같은 것으로 변수에 저장된 값을
나중에 유용하게 사용할 수 있다.
- 파이썬의 다양한 산술 계산 연산자에 대하여 학습.
연산자들은 우선 순위를 가지고 있지만 우리는 괄호를 사용하여서
연산자의 우선순위를 변경할 수 있었다.
지수를 계산하는 연산자는 ** 이다.
- 문자열은 큰따옴표나 작은 따옴표를 이용하여 표현한다.
input() 함수를 이용하여 사용자로부터 문자열을 받을 수 있다.
인덱싱 연산자 [] 을 이용하여 각각의 문자를 추출 할 수 있다.
'Hello World > Python' 카테고리의 다른 글
Python - 문자열 처리 / 반복문 / 함수 function : 인수 매개변수 [개발스터디 기몬] (0) | 2023.03.21 |
---|---|
Python - 조건문 if-else문 / 연산자 / 문법 실습 [개발스터디 기몬] (0) | 2023.03.16 |
Python - python memo 변수과 계산 / 문법 익히기 [개발스터디 기몬] (0) | 2023.03.14 |
Python - 파이썬 설치 / 파이썬 이론 , 파이썬 특징 /Install python, Install LiClipse / 실습정리 [개발스터디 기몬] (0) | 2023.03.14 |
댓글