파이썬으로 만든 구구단 소스


for n1 in range(2,10):
for n2 in range (2,10):
print (n1,"x",n2,"=",n1*n2)


심플하지 않은가

심플하고 아름답다


코드를 뜯어보면...


루프 관련

 - 코드는 2중 루프로 되어있다

 - 루프 몸통은 대괄호 {}로 감싸지 않고 들여쓰기를 이용한다.

    들여쓰기는 공백, 스페이스를 이용해도 되는데 보통 탭문자를 이용한다.

 - 들여쓰기 레벨이 같으면 같은 블럭

 - 하위 블럭은 들여쓰기 한번 더 


range(2,10) : 2에서 9까지, 마지막 숫자 10은 포함되지 않는다. 


해당 소스에서 n1이 2에서 9까지 돌고

그 안에서 n2가 2에서 9까지 돌고

그 안에서 print 문이 실행된다.


파이썬은 2.x와 3.x가 있는데 3.x가 당연히 더 좋다.

레거시(오래된) 소스를 돌릴 필요가 없으면 3.x를 까는게 더 좋다.


파이썬만 따로 까는것 보다 Anaconda를 깔면 유용한 라이브러리를 잔쯕 깔아주니

아나콘다로 까는게 더 좋다.


맥에는 디폴트로 2.x가 깔려있는데 3.x 깔고 환경 살짝 잡으면 3.x를 디폴트로 쓸 수 있다.

설치는 다른 문서 찾아보시고...


 

for n1 in range(2,10):
for n2 in range (2,10):
print (n1,"x",n2,"=",n1*n2)
해당 소스를 실행시키면
2 x 2 = 4
2 x 3 = 6
(중간 생략)
2 x 9 = 18
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
(중간 생략)
9 x 8 = 72
9 x 9 = 81


기교를 살짝 부려보면

for n1 in range(2,10):
print("*** " , n1, " dan", " ***")
for n2 in range (2,10):
print (n1,"x",n2,"=",n1*n2)

결과는 직접 해보자



'IT > 파이썬' 카테고리의 다른 글

python으로 웹에서 주가 데이터 가져오기  (0) 2017.12.20
맥 , 파이썬, 파이참, 한글  (0) 2017.12.19

준비


파이썬으로 쉽게 주가 정보를 가지고 올 수 있다.

쉽다. 쫄지 말고... 


python, pandas-datareader가 설치되어있어야 한다.

따로 설치하는것 보다 Anaconda 배포판으로 설치하는 것이 좋다.


다음 주소에서 파이썬 3.x 버전으로 다운로드 받아서 설치한다.

https://www.anaconda.com/download/



파이썬 실행

$ python

Python 3.6.1 |Anaconda 4.4.0 (x86_64)| (default, May 11 2017, 13:04:09)

[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin

Type "help", "copyright", "credits" or "license" for more information.




pandas-datareader

pandas-datareader를 임포트


>>> import pandas_datareader as web


임포트가 안되면 pip 명령으로 pandas-datareader를 설치한다

아나콘다로 설치했으면 자동으로 설치 된다

$ pip install pandas-datareader



다음 명령은 구글에서 코스피 지수를 가지고와서 pandas dataframe으로 저장한다.


>>> df = web.DataReader("KRX:KOSPI", "google")

>>> df


\ Open High Low Close Volume

Date

2010-01-04 1681.71 1696.14 1681.71 1696.14 295646000

2010-01-05 1701.62 1702.39 1686.45 1690.62 407629000

2010-01-06 1697.88 1706.89 1696.10 1705.32 425407000

2010-01-07 1702.92 1707.90 1683.45 1683.45 461562000

2010-01-08 1694.06 1695.26 1668.84 1695.26 379138000

(생략)

2017-08-29 2356.20 2364.74 2332.85 2364.74 223089000

2017-08-30 2368.13 2372.29 2363.43 2372.29 305636000

2017-08-31 2373.96 2377.02 2355.29 2363.19 265050000

2017-09-01 2367.45 2370.25 2351.37 2357.69 280059000

2017-09-04 2316.89 2344.82 2316.89 2329.65 248494000



2010년 1월 4일부터 현재까지 코스피 지수 정보를 가지고 다운받은것을 확인할 수 있다.


주가를 다운 받을때는 KRX:[6자리 종목코드]를 입력한다.

다음 명령으로 삼성전자 주가를 다운 받을 수 있다.


>>> df = web.DataReader("KRX:005930", "google")


알아서 DB에 저장하고 알아서 쓰면 됨.





'IT > 파이썬' 카테고리의 다른 글

[파이썬] 구구단  (0) 2018.01.07
맥 , 파이썬, 파이참, 한글  (0) 2017.12.19

파이썬 IDE, 파이참 PyCham은 다 좋은데 한글이 좀 헷갈린다.


다음 소스를 python 2.7로 실행시키면 encoding 어쩌구 하면서 에러가 난다.


a = '안녕,hellow'

print (a)


소스 상단에 다음 문장을 삽입하면 해결된다. 요기까지는 많이 알려진 사실

#-*- coding: utf-8 -*-


다음 소스를 실행시키면

#-*- coding: utf-8 -*-

a = '안녕,hellow'

b = a.split(',')

print (b)


원하는 결과는 ['안녕', 'hellow']

실제 결과는 ['\xec\x95\x88\xeb\x85\x95', 'hellow']


print 문장을 수정하면

print(b) => print (b[0], b[1])


결과는

('\xec\x95\x88\xeb\x85\x95', 'hellow')

살짝 바꼈다. [] 괄호가 () 괄호로 변했다.


print 문장을 다시 수정하면

print (b[0])

print (b[1])


결과는

안녕

hellow


정리하면

print (b) => print 명령에게 b array를 넘김

print (b[0], b[1]) => print 명령에게 b[0], b[1]으로 이루어진 튜플을 넘김

array나 튜플을 프린트 할 경우 한글이 이상하게 표시된다.

print (b[0])에서 잘 찍히는거 보면 값은 제대로 들어있다.


PyCham 설정을 바꿔서 python 3.6으로 다음 코드를 실행하면

a = '안녕,hellow'

b = a.split(',')

print (b)


결과는

['안녕', 'hellow']


한방에 된다.


그냥 python 3.x 쓰자

'IT > 파이썬' 카테고리의 다른 글

[파이썬] 구구단  (0) 2018.01.07
python으로 웹에서 주가 데이터 가져오기  (0) 2017.12.20

+ Recent posts