자료를 찾다가 예전에 D3.js 버전 V4용으로 로또 출현 번호를 추적해 본적이 있습니다. 여러가지 통계를 내는 것 중 특정 횟차의 당첨 번호가 지금까지 각 회차마다 어느정도 번호가 출현이 되었는지 조회하기 위해서 실험 모델로 입문 코딩으로 만들었던 방법을 소개를 할까 합니다. 최소 당첨률을 높이기 위해서 시도한 코딩법인데 사실 이 것 자체만으로는 랜덤 번호 생성을 하기 어렵습니다. 그냥 재미로 만들었던 내용 중의 한 부분으로 코딩을 시작하려고 ATOM 편집기로 코딩을 했던 내용입니다. 약간은 조잡할 수 있고 정리가 안 된 코딩일 수 있지만 재미로 읽어보시기 바랍니다.
데이터는 사전학습에서 실제 로또 사이트에서 엑셀 파일로 다운 받고 편집하는 내용이 담겨져 있는데 꼭 먼저 읽어보시기 바랍니다. 아래와 같이 편집을 해 놓고 csv 파일로 저장하시면 됩니다.
데이터 출력은 csv파일 읽어와 type을 지정하여 숫자형으로 만들어 놓고 각 회차의 총합을 console창에 출력하도록 해보겠습니다. 조건은 각회차 번호를 정상적으로 출력하고 각회차 총합을 구하는 식으로 코딩으로 표현했습니다. 참고로 예전 공부했던거라 d3.js가 V4버전으로 코딩했네요.
<script src="https://d3js.org/d3.v4.min.js"></script>
<script>
d3.csv("number.csv",type, function(error,dataset){
if (error) throw error;
fulldata=dataset;
dataset.forEach(function(d){
console.log(d.th+"회 "+d.n1+","+d.n2+","+d.n3+","+d.n4+","+d.n5+","+d.n6+" 보너스 : "+d.b1);
console.log("총합 : "+(d.n1+d.n2+d.n3+d.n4+d.n5+d.n6));
});
});
function type(d){
d.n1=+d.n1;
d.n2=+d.n2;
d.n3=+d.n3;
d.n4=+d.n4;
d.n5=+d.n5;
d.n6=+d.n6;
return d;
}
</script>
[결과]
워밍업으로 간단히 로또 당첨 번호를 순차적으로 콘솔창에 출력하고 그 합을 구해 보았네요. post 제목의 맞는 전체 소스를 한번에 올릴려다가 쪼개서 올립니다. 한번에 전체 소스를 올리면 좀 복잡하게 볼 수 있어서 나눠서 올리도록 하겠습니다. 오늘은 간단히 데이터 만들기와 데이터를 출력하는 것 까지 해보는 걸로 마무리 하겠습니다.