오늘은 랜덤모듈에 대해 포스팅 하겠습니다.
1. 랜덤 모듈(random)
보통 .py확장자로 끝나는 파일을 모듈이라고 합니다. 데이터 관련 직종에서 필수라고 논해지는 pandas, numpy도 모듈입니다. 오늘은 random 모듈을 사용해서 무작위 수를 출력하거나 선택하는 기능에 대해 알아보겠습니다.
import random
import 기능을 이용하여 random 기능을 호출해줍니다. 호출하지 않으면 사용할 수 없음으로 주의하시길 바랍니다. 호통 import from같은 호출기능 코드의 최상단에 모아 놓습니다. 이렇게하면 어떤 기능을 불러오는지 알수있고 코드가 길어질 경우 같은 import가 지속해서 수행되는 것을 방지해 시간 및 메모리 낭비를 방지할 수 있습니다.
random.random()
random.random()함수는 random 모듈에 있는 random 함수를 사용하는 것을 의미합니다. random.random()은 0과 1 사이에 랜덤한 실수값을 반환합니다.
random.choice()
random.choice()는 함수 안에 들어있는 변수중 하나를 랜덤하게 추출해주는 함수입니다. 회사에서 인턴할 적에 제 사수분께서 코딩하는 사람은 네이버 룰렛돌리기같은거 쓰면 안된다며 random.choice()를 활용해보라고해서 시간이 지난 지금까지도 생생히 기억하는 함수입니다. 실용성있는 함수이니 여러분들도 코딩하는 사람으로서 실생활에 응용해보세요.
예제 1- 가위바위보 게임
- 출력 형식 : 가위 바위 보 중에 하나를 선택하세요(input)
- 컴퓨터 : 바위, 나 : 가위 -> 졌습니다.
- 질문 다시 반복하고
- 컴퓨터 : 가위, 나 : 가위 -> 비겼습니다.
- 질문 다시 반복
- 컴퓨터 : 보, 나 : 가위 -> 이겼습니다.
- 프로그램을 종료합니다.
- 즉, 이길때까지
random.random()만 사용
random.choice() 사용
random.choice()를 사용하면 코드가 비교적 간단해지는 것을 알 수 있습니다.예제 2 - 로또 번호 예상 프로그램
- 당연히 나온 번호는 제외
- 1~ 45까지 6개 숫자를 무작위로 추출
- 뽑고나면 오름차순으로 정렬
- 보너스 숫자는 생각 안함
random.random()만 사용
random.choice() 사용
random.random()만으로도 간단히 만들 수 있는 코드이지만 random.choice()를 사용해서 훨씬 더 간단히 만들 수 있었습니다.
함수라는 것은 많이 알수록 효율이 좋아집니다. 어떤 함수로 10줄 쓸 코드를 다른 함수로 1줄만에 끝나는 경우도 많습니다. 때문에 한 패키지안에 있는 함수를 두루 살펴보고 한 기능을 수행하는 여러 함수들을 비교하며 알고있으면 더욱 경쟁력있고 현명한 개발자가 될 수 있습니다.