목 차
1. 들어가며
2. 필요성
3. 사전준비
① 단어 + 숫자 → 에러 발생 (패턴이 정의되지 않음)
② "단어" + 숫자 → 에러 발생 (문자와 숫자는 연결해서 출력 안됨)
③ "단어" + "숫자" → 출력 성공 (문자형과 문자형을 연결하였기 때문에 출력 성공)
4. for문을 통해 특정단어의 끝에 붙은 숫자 증가시키기
① "단어" + "문자형 변수(i)" → "단어i"로 출력 (실패)
② "단어" + 변수 str(i) → 당초 의도한 대로 출력 (성공)
5. 마치며
1. 들어가며
주식 자동 매매 시스템을 구축하기 위해서 많이 쓰이는 모듈 중 하나가 for문일 것이다.
for문은 한정된 범위에서 사용자가 정한 범위(range)에서
데이터를 얻어올 때 주로 쓰인다.
이 글에서는 for문을 통해 특정단어에 숫자가 붙는 내용을 설명할 예정이다.
ex) pattern0, pattern1, pattern2, ...... , pattern10
2. 필요성
특정단어에 숫자를 붙여야하는 이유는 무엇일까?
향후 패턴에 따라 익절/손절을 할 때,
종목코드/패턴 파악시에도 for문이 쓰이지만,
익절/손절 타점을 설정할 때도 for문이 쓰이기 때문이다.
3. 사전 준비
- 특정단어(pattern)에 숫자를 붙이는 방법 : 숫자도 문자형으로 변경하여 활용(③번 사례)
① 단어 + 숫자 → 에러 발생 (패턴이 정의되지 않음)
오류 내용 : NameError: name 'pattern' is not defined
print(pattern + 1)
(expected result)
print(pattern + 1)
NameError: name 'pattern' is not defined
② "단어" + 숫자 → 에러 발생 (문자와 숫자는 연결해서 출력 안됨)
오류 내용 : TypeError: can only concatenate str (not "int") to str
print("pattern" + 1)
(respected result)
print("pattern" + 1)
TypeError: can only concatenate str (not "int") to str
③ "단어" + "숫자" → 출력 성공 (문자형과 문자형을 연결하였기 때문에 출력 성공)
print("pattern" + "1")
(expected result)
pattern1
4. for문을 통해 특정단어의 끝에 붙은 숫자 증가시키기
① "단어" + "문자형 변수(i)" → "단어i"로 출력 (실패)
for i in range(0,3):
print("pattern" + "i")
(expected result)
patterni
patterni
patterni
② "단어" + 변수 str(i) → 당초 의도한 대로 출력 (성공)
- 2번째 줄의 변수 i앞에 str을 붙여주어서 문자형으로 만들어주는 것이 핵심이다.
for i in range(0,3):
print("pattern" + str(i))
(expected result)
pattern0
pattern1
pattern2
![](https://blog.kakaocdn.net/dn/tfsTo/btrO0oRTXcu/tFuD64KPV3jRxfOkoQo6d1/img.png)
5. 마치며
for반복문을 활용하여 특정 단어 뒤에 숫자가 붙는 방법을 알아보았다.
핵심은 변수(i)앞에 str을 붙이면 되는 것이다.
다만, 위의 방법에서 한가지 알아 두어야 할 것은,
<그림>의 3번째 줄에서도 확인하였듯이,
출력된 결과문인 pattern0은 문자형이라는 것이다.
문자형이 문제가 될 수 있는 건, 향후 기술한 pattern은 리스트 타입으로 가질 것이다.
즉, 문자형의 pattern0 과 리스트형의 pattern0 은 동일할 수 없다는 것이다.
다음 글(for문-4번. for문에서 eval 활용하기)에서 위의 문제점을 설명하겠다.
'1. 국내주식 > 1-1. 국내주식 연구일지' 카테고리의 다른 글
(엑셀) INDEX 함수 및 MATCH 함수를 이용하여 데이터 찾기 (0) | 2022.11.04 |
---|---|
(파이썬) for문 활용 (5) eval 모듈 활용 (패턴 업데이트 방법) (0) | 2022.10.25 |
(파이썬) threading와 time 모듈로 특정 시간마다 반복 실행 (2) 클래스 내에서 실행하고 일정시간 경과 후 종료하기 (0) | 2022.10.24 |
(파이썬) for문 활용 (4) eval 모듈을 활용하여 문자형(str)을 list형으로 타입 전환하기 (0) | 2022.10.22 |
(엑셀) 주식 자동 매매를 위한 알고리즘 패턴 찾기 (4) 패턴별 승률을 엑셀로 계산해보기 (카카오 035720) (0) | 2022.10.20 |
(주식 자동매매) 키움증권에서 받아온 1분봉을 오름차순으로 바꾸는 방법 (0) | 2022.10.12 |
(파이썬) 주식 자동 매매를 위한 알고리즘 패턴 찾기 (3) 파이썬에 적용 (0) | 2022.10.04 |
(파이썬) 주식 자동 매매를 위한 알고리즘 패턴 찾기 (2) 패턴 빈도 계산 (0) | 2022.10.03 |