2017년 7월 23일 일요일

[파이썬] 랜덤+가중치

페이스북 파이썬 유저 그룹에서 앤서블(Ansible) 이벤트를 진행했는데.. 진짜 정말 생각보다 많은 분들이 등록을 하셨다.

무료이벤트이긴 하지만...이렇게 호응이 좋을 줄이야...

그래서 고마운 맘에 조금 더 드려야 하고 2명을 더 추가하고...공유해드린 분은 가중치(weight)를 드려야 겠다고 생각했다. 그런데...이걸 가중치도 되면서 난수도 뽑아 주는 프로그램을 구글에서 검색해서 하려고 했는데.. 이런 프로그램이 개발된게 없다..


난 프로그래밍 할줄 잘 모르는데.... 어쩌겠다..만들어야지..진짜 허접해서 그래서..이걸 만들었다.. 비웃을 수도 있지만...-_-; 일단 동작은 하니까... 그리고 계속 써야 할 수도 있어서...

[ 추첨 영상 ]





[ 당첨자 ]
1 : 변규섭
2 : LeeDong Won
7 : Changkyum Kim 
14 : Minho Park
19 : Jeffery Lim  (22번 중복으로 추가 당첨)
22 : LeeDong Won

[코드]

#!/usr/bin/python
#-*- coding: utf-8 -*-
import random

# 가중치
weight = 3

# 참여하신 분 
shared = 8
reply = 17

#당첨 되신 분 
won = 5

w = []
#가중치꺼 
for i in range(weight):
    for i in range(shared):
        w.append(i+1)

#보통꺼
w = w+range(shared+1,shared+reply+1)

# 중복제거 
w_sample = list(set(random.sample(w,won))) 

# 중복제거 하면, 다시 샘플링 함 
while True:
    if won==len(w_sample):
        print w_sample
        break
    else:
        w_sample = list(set(random.sample(w,won)))  

0 개의 댓글:

댓글 쓰기

 
Copyright © . 시스템/네트워크 자동화 전문가 블로그 - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger