티스토리 뷰
반응형
이전포스팅에서 파이썬 라이브러리 함수 sys, pickle, os, shutil, glob, time, calendar에 대해 알아보았고 오늘은 random 에 대해 알아보도록 하겠습니다.
random은 난수(규칙이 없는 임의수)를 발생히키는 모듈입니다.
- randint(최소, 최대) : 입력 파라미터인 최소부터 최대까지 중 임의의 정수를 리턴한다
- random() : 0 부터 1 사이의 부동소수점(float) 숫자를 리턴한다
- uniform(최소, 최대) : 입력 파라미터인 최소부터 최대까지 중 임의의 부동소수점(float) 숫자를 리턴한다
- randrange(시작,끝[,간격]) : 입력 파라미터인 시작부터 끝값까지 (지정된 간격으로 나열된) 숫자 중 임의의 정수를 리턴한다
1 2 3 | >>> import random >>> random.random() 0.07419618930493 | cs |
다음은 1부터 10사이에 정수 중에서 난수 값을 돌려줍니다.
1 2 3 4 5 6 7 8 9 10 | >>> random.randint(1,10) 4 >>> random.randint(1,10) 8 >>> random.randint(1,10) 9 >>> random.randint(1,10) 3 >>> random.randint(1,10) 2 | ecs |
다음은 1부터 45사이의 정수중에 난수 값을 돌려준다.
1 2 3 4 5 6 7 8 9 10 | >>> random.randint(1,45) 38 >>> random.randint(1,45) 5 >>> random.randint(1,45) 17 >>> random.randint(1,45) 11 >>> random.randint(1,45) 42 | cs |
그러면 이렇게 랜덤함수 하면 만들고 싶은 프로그램이 생각이 난다! 로또? 안그런가?
로또는 45개의 숫자중 6개를 맞추는 게임이다. 숫자는 중복되지 않고 순서는 상관이 없다. 랜덤으로 45개의 숫자가
적혀 있는 공이 뽑히면 그 6개의 번호가 맞는 순서대로 상금을 갖게 되는 로또.
그럼 45개의 정수중에 6개를 랜덤으로 뽑아보자. 단 3줄이면 된다.. 너무 간단하지 않은가?
1 2 3 4 5 | >>> import random >>> lotto = random.sample(range(1,46),6) >>> print(lotto) [24, 35, 2, 20, 38, 8] >>> | cs |
1부터 45개이니 46까지범위를 정하고 sample함수를 사용한다.
random 모듈에서 sample(컬렉션, 샘플수) 함수는 지정된 컬렉션으로부터 샘플수만큼 랜덤 추출을 하는 함수이다.
반응형
댓글
반응형