본문 바로가기
Hello World/Python

Python - 변수와 계산 / 연산자 지수계산 ** [개발스터디 기몬]

by 기몬 2023. 3. 15.
728x90
반응형

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()  함수를 이용하여 사용자로부터 문자열을 받을 수 있다. 
인덱싱 연산자 [] 을 이용하여 각각의 문자를 추출 할 수 있다. 

728x90
반응형

댓글