이번에는 python으로 연산을 알아보도록 하겠습니다. 앞에서 잠깐 연산에 대해서 언급을 했어요 python에서는 기초 사칙연산과 동일한 규칙으로 연산이 됩니다. 오늘은 그것보다 조금 더 진행을 해보겠습니다.
>print(3+4) # 7
>print(8-4) # 4
>print(3*8) # 24
>print(8/2) #4
위와 같이 기초 사칙연산 말고 지수 계산과 몫, 나머지도 계산을 할 수 있어요
>print(3**3) #27
>print(5%3) # 나머지 2
>print(5//3) # 몫 1
또 python에서는 참과 거짓을 구별할 수 있다고 했는데요 이를 booln이라고 말합니다. 대소 관계 말고 ==는 같다는 의미와!=는 같지 않다를 이용해서 참/거짓이 나옵니다. 또 중간에 연산을 넣어도 계산된 값과 비교를 해서 참/거짓이 나옵니다.
>print(6==6) # true
>print(1==5) # false
>print(5+3==8) #true
>print(4!=9) # true
또 not을 이용하면 참/거짓이 뒤바뀌어 나오는 것을 확인할 수 있어요
>print(not(4!=9)) # false
다음은 and와 or에 대해서 간략하게 언급할게요 수학에서 and와 or은 들어 보았을 것입니다. 두 명제가 and로 연결되어 있을 경우 두 명제 모두가 참일 경우만 참으로 인식을 하고 두 명제가 or로 연결되어 있을 경우 두 명제 중 적어도 하나만 참이 된다면 참으로 인식하는 연산자입니다. python에서 and는 and라고 직접 쓰거나 &를 이용해서 표현할 수 있습니다.
>print((7>4) and (5>2)) # true
>print((7>4) & (5>2)) # true
또 or일 경우 직접 or이라고 입력하거나 | (키보드에서 shift + \)를 이용해서 표현할 수 있습니다.
>print((9>2) or (3>6)) # true
>print((9>2) | (3>6)) # true
변수를 이용해서도 수식을 계산할 수 있어요 예를 들어 3+3*5의 경우 곱셈을 먼저 계산하고 덧셈을 하니깐 18이 나옵니다. 이를 변수에 넣어볼게요
>number =3+3*5
>print(number)
출력은 18이 나옵니다. 여기에 다시 이렇게 입력을 하면
>number = number +1
>print(number)
출력 값은 19가 됩니다. number = number +1 이렇게 쓰지 않고 간단하게 다음과 같이 입력해도 됩니다.
>number +=1
>number *=2
이러면 각각 다음과 같이 연산됩니다.
이 밖에 number *=2에서 *대신 나머지를 구하는 % 와 몫을 구하는 //을 이용해서 연산을 할 수 있습니다. 수학에서 절댓값을 표현하는 것도 가능 한데 이것은 abs()로 표현을 하면 되고 지수 계산은 다음과 같이 할 수 있습니다.
>print(pow(4,2))
이것을 print로 표현을 하면 4^2=4*4이므로 16이 출력됩니다. max(5,2)는 5 min(5,2)는 2가 출력이 됩니다.
round() 반올림
floor() 내림
ceil() 올림
sqrt() 제곱근
위와 같은 것도 계산을 할 수 있는데 이것은 엑셀이나 다른 프로그램에서 많이 사용되므로 넘어가도록 하겠습니다.
다음으로는 랜덤 함수를 배워보도록 하겠습니다. 랜덤 함수는 임의의 숫자를 무작위로 출력하게 하는 함수를 의미합니다. 즉 난수를 말하는 거죠 python에서 랜덤 함수를 입력하기 위해서는 처음에 랜덤 함수를 선언해주어야 합니다.
>from random import *
위와 같이 입력을 하고 랜덤 함수를 불러보겠습니다.
>print(random())
출력 값은 임의의 숫자 되는데 범위 0.0 이상 1 미만의 임의의 값이 생성됩니다. 숫자를 조금 키워 보겠습니다. 0 이상 10 미만의 임의의 숫자를 생성하기 위해서 다음과 같이 입력합니다.
>print(random()*10)
소수점 뒤에 너무 많은 숫자가 나오므로 정수로 생성되기를 원하면 다음과 같이 입력하면 됩니다.
>print(int(random()*10))
0부터 난수가 생성이 되니 자연수 범위에서 값이 생성하기 위해서는 간단히 +1을 하면 됩니다.
>print(int(random()*10)+1) # 1 이상 10 이하의 임의의 값 생성
임의의 자연수를 만들 수 있으니 재미로 로또 번호를 생성해 볼까요?? 로또 번호는 1부터 45 이하의 숫자로 이루어져 있기 때문에 위 입력값을 약간만 수정해주면 됩니다.
>print(int(random()*45)+1) # 1 이상 45 이하의 임의의 값 생성
로또 번호는 총 6개로 이루어져 있으므로 위의 입력을 6번 해주면 됩니다. 결괏값은 아래와 같습니다.
다른 방법으로도 난수를 생성할 수 있습니다.
>print(randrange(1,46))
randrange는 괄호 안의 숫자 안에서 임의의 값을 생성하는데 주의해야 할 것은 1 이상 46 미만입니다. 미만을 없애고 싶으면 다음 입력값을 사용하면 간단하게 표현할 수 있습니다.
>print(randint(1,45))
오늘은 여기까지 하도록 하겠습니다!
'지식공학 > Python' 카테고리의 다른 글
python 독학 기본편 #5 조건문과 반복문 (If & For) (0) | 2020.10.13 |
---|---|
python 독학 기본편 #4 Type (feat.트와이스 도와줘요) (0) | 2020.10.11 |
python 독학 기본편 #3 문자 (0) | 2020.10.11 |
Python 독학 기본편 #1 print&변수 (0) | 2020.10.09 |
Python 독학 기본편 #0 -환경설정 (0) | 2020.10.07 |
댓글