대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽
중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 03. 여러 가지 모듈 활용하기 · 26–33쪽
이 웹 주제의 연계 범위: 30–31, 33, 37쪽
웹 학습 주제 08 / 12
random · 결과보다 조건 확인하기
매번 결과가 달라도 올바른 프로그램인지 판단할 수 있습니다.
난수 도구는 결과의 조건으로 골라요
- 1숫자 하나?randint / randrange
- 2항목 하나?choice
- 3여러 항목?sample
- 4순서 변경?shuffle
| 함수 | 포함 범위 / 변화 | 반환 |
|---|---|---|
| randint(1,6) | 1과 6 포함 | 정수 |
| randrange(1,6) | 6 제외 | 정수 |
| sample(L,2) | 위치 중복 없이 추출 | 새 리스트 |
| shuffle(L) | 원본 순서 변경 | None |
random()은 0 이상 1 미만의 실수입니다. randrange(stop)은 끝을 제외하며 randrange(start, stop, step)은 range와 같은 후보에서 선택합니다. 주사위 1~n은 randrange(1, n+1)로 구현합니다.
choice는 요소 하나, sample은 지정 개수의 항목을 비복원 추출합니다. 원본에 같은 값이 여러 번 있으면 sample 결과에도 같은 값이 나올 수 있습니다. 고유한 명단을 주어야 사람 중복을 막을 수 있습니다.
shuffle은 원본 리스트를 직접 섞고 None을 반환합니다. result = random.shuffle(names)의 result를 추첨 결과로 쓰면 안 됩니다. 원본을 보존하려면 복사하거나 sample을 사용하세요.
직접 해 보세요
- 중복 없는 명단에서 2명을 뽑고 원본이 유지되는지 확인하세요.
- 주사위 결과가 특정 숫자여야 한다는 검사가 부적절한 이유를 적으세요.
이 설명에 이어서 실습하기
예제를 선택하면 바로 아래에서 코드를 수정하고 실행할 수 있습니다. 작성한 코드는 예제별로 저장됩니다.
CODE WORKSPACE
코드를 바꾸는 실습실
실행 엔진은 처음 실행할 때 내려받습니다. 패키지 크기에 따라 최초 준비에 최대 3분이 걸릴 수 있으며 네트워크가 필요합니다. 실행은 최대 30초이며 중지 후 다시 실행할 수 있습니다.
실행할 예제를 선택하세요.
PRACTICE / RETRY / UNDERSTAND
이 주제 연습 문제 5
이 주제와 연결된 문제만 보여 줍니다. 단원 전체 문제는 단원 안내 페이지에서 이어서 풀 수 있습니다.
인공지능 파이썬 실무