Python

주식 알고리즘 만들기 - 3. 제어문 ( boolean, 논리 연산자 , if)

제이아이엔 2022. 10. 8. 20:21
반응형

출처 : https://wikidocs.net/3082

 

# Boolean

Boolean은 다른 자료형과 달리 True 또는 False라는 값만 바인딩할 수 있습니다.

 

표 4.1 파이썬 비교 연산자

연산자연산자 의미

== 같다.
!= 다르다.
> 크다.
< 작다.
>= 크거나 같다.
<= 작거나 같다.

 

 

# 논리 연산자(and , or)

a and b 둘 다 True일때만 True

a or b  둘 중 하나만 True라면  True

 

 

사실 한국 거래소(www.krx.co.kr)의 가격제한폭 제도를 살펴보면 정확한 상한가를 산출하는 방식은 기준 가격(전일 종가)에 단순히 0.3을 곱하는 것이 아니며 다음과 같이 조금 복잡하게 계산됩니다.

1차 계산: 기준 가격에 0.3을 곱한다.
2차 계산: 기준 가격의 호가 가격단위에 미만을 절사한다.
3차 계산: 기준 가격에 2차 계산에 의한 수치를 가감하되, 해당 가격의 호가 가격단위 미만을 절사한다. 

예를 들어, 기준 가격이 9,980원인 경우 다음과 같이 계산됩니다.

1차 계산: 9,980원 x 0.3 = 2,994원
2차 계산: 2,990원(기준 가격(9,980원)의 호가 가격단위인 10원 미만 절사)
3차 계산:
  합산가격: 9,980원 + 2,990원 = 12,970원
  호가 가격단위 적용: 12,970원의 호가 가격단위인 50원 미만 절사(2차 절사)
  상한가: 12,950원

표 4.2 호가 가격 단위

구분단위

1,000원 미만 1원
1,000원 이상 5,000원 미만 5원
5,000원 이상 10,000원 미만 10원
10,000원 이상 50,000원 미만 50원
50,000원 이상 100,000원 미만 100원
100,000원 이상 500,000원 미만 500원
500,000원 이상 1,000원

 

#if~ else

1) 조건문에는 if라는 키워드를 사용한다.

2) if 다음에는 '조건'이 존재하는데 이 조건이 참(True)이면 들여쓰기한 문장이 실행된다.

3) if 문의 끝에는 콜론(:)을 입력한다.

4) if 문의 조건이 참(True)일 때 실행되는 문장은 들여쓰기해야 한다.

 

참고로 C/C++ 또는 자바 같은 프로그래밍 언어에서는 동시에 수행될 코드 블록을 { } 기호로 감싸서 표현하는 반면 파이썬에서는 들여쓰기를 통해 코드 블록을 표현합니다.

 

#if ~elif~else

이제 if 조건문을 활용해서 호가가격단위를 알아낼 수 있는 프로그램을 만들어보자.

>>> price = int(input("호가 단위를 알아볼 가격을 입력하세요:"))
>>> if price < 1000:
        bid = 1
elif price >= 1000 and price < 5000:
        bid = 5
elif price >= 5000 and price < 10000:
        bid = 10
elif price >= 10000 and price < 50000:
        bid = 50
elif price >= 50000 and price < 100000:
        bid = 100
elif price >= 100000 and price < 500000:
        bid = 500
elif price >= 500000:
        bid = 1000

>>> bid

 

 

 

728x90