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