KDT/Python
랜덤 모듈
jhwannabe
2023. 3. 9. 15:57
https://github.com/JHWannabe/KDT/blob/master/jhwannabe/python/Day05/15_Random_Module.ipynb
1. 랜덤(random) 모듈
- 임의의 숫자를 무작위로 반환
random()
- 0이상 1미만의 실수 중에서 무작위로 하나를 뽑아 반환
import random
num = random.random()
print(num) # 0.7639029319659469
num = num * 10
print(num) # 7.639029319659469
num = int(num) # 0~9까지 정수
print(num) # 7
num = int(num + 1) # 1~10까지 정수
print(num) # 8
# 1~10까지 정수
num = int(random.random() * 10 + 1)
print(num) # 7
randrange()
- 원하는 범위를 입력하여 범위의 무작위 정수를 반환
random.randrange(1, 46) # 23
shuffle()
- 자료구조에 저장된 값을 무작위로 섞음
- inplace 연산
li = ['김사과','반하나','오랜지','이메론','채애리']
random.shuffle(li)
li
# ['오랜지', '이메론', '채애리', '김사과', '반하나']
choice()
- 자료구조에 저장된 값 중 하나를 무작위로 반환
li = ['김사과','반하나','오랜지','이메론','채애리']
random.choice(li)
# '반하나'
bool1 = [True, False]
random.choice(bool1)
# False
2. 과제
주사위를 던져 주사위의 값을 맞추는 게임을 만들어보자.
- 주사위의 값을 입력하세요: 4
- 주사위의 값: 3, 틀렸습니다.
- 주사위의 값을 입력하세요: 3
- 주사위의 값: 6, 틀렸습니다.
- 주사위의 값을 입력하세요: 2
- 주사위의 값: 2, 맞았습니다. 게임을 종료합니다.
'가위바위보' 게임을 만들어보자
가위, 바위, 보 중 하나를 선택하세요: 가위
컴퓨터 : 바위, 나: 가위 -> 졌습니다.
가위, 바위, 보 중 하나를 선택하세요: 가위
컴퓨터 : 가위, 나: 가위 -> 비겼습니다.
가위, 바위, 보 중 하나를 선택하세요: 가위
컴퓨터 : 보, 나: 가위 -> 이겼습니다.
로또 번호 예상 프로그램을 만들어보자
- 조건
- 1~45까지 6개의 숫자를 무작위로 추출
- 중복되면 안됨
- 오름차순으로 정렬
- 보너스 숫자는 생각하지 않음
주민등록번호 유효성 검사 프로그램을 만들어보자
- 001011-3068518
- 0 0 1 0 1 1 3 0 6 8 5 1 8 (마지막 자리는 잠시 빼둠)
- 2 3 4 5 6 7 8 9 2 3 4 5 (숫자를 각 자리에 곱함)
- 0 0 4 0 6 7 24 0 12 24 20 5 (숫자를 모두 더함)
- 102 % 11 (11로 나눈 나머지 값)
- 11 - 3 (해당 값을 11에서 뺌, 단 값이 2자리인 경우 10으로 나눈 나머지 값을 구함)
- 8 (주민등록번호의 마지막 자리와 일치하면 맞는 주민등록번호임)
728x90