본문 바로가기
카테고리 없음

파이썬 random 모듈로 숫자 뽑기 놀이

by python note 2025. 5. 13.
파이썬 random 모듈로 숫자 뽑기 놀이
파이썬 random 모듈로 숫자 뽑기 놀이

파이썬 random 모듈로 숫자 뽑기 놀이

친구와 게임을 하거나 추첨을 할 때처럼 무언가를 '랜덤하게', 즉 '무작위로' 뽑아야 할 때가 있습니다. 컴퓨터도 이런 '무작위 뽑기'를 할 수 있도록 도와주는 기능이 있습니다. 파이썬에서는 random 모듈이 바로 그 역할을 합니다. 이번 시간에는 random 모듈을 사용하여 다양한 방법으로 숫자를 무작위로 뽑는 방법을 배워보겠습니다. 로또 번호를 뽑거나, 주사위를 던지거나, 순서를 섞는 것과 같은 재미있는 기능들을 직접 만들어 볼 수 있습니다.

random 모듈이란 무엇일까요?

random 모듈은 파이썬에 기본으로 포함된 도구 상자 중 하나입니다. 이 도구 상자 안에는 '무작위'와 관련된 다양한 기능들이 들어 있습니다. 우리는 이 기능들을 꺼내어 사용함으로써 컴퓨터가 예측할 수 없는 숫자를 만들거나, 목록에서 임의의 항목을 선택하는 등의 작업을 할 수 있습니다.
random 모듈을 사용하려면 먼저 이 모듈을 '가져와야' 합니다. 마치 도구 상자를 사용하기 위해 필요한 도구를 꺼내는 과정과 같습니다. import random 이라는 명령어를 사용하면 됩니다.

예시 1: 특정 범위의 정수(자연수, 0, 음의 정수) 뽑기 - randint()

가장 흔하게 사용하는 기능 중 하나는 특정 범위 안에서 정수 하나를 무작위로 뽑는 것입니다. 주사위를 던져서 1부터 6까지의 숫자 중 하나를 뽑는 것과 같습니다. random 모듈의 randint(a, b) 함수를 사용하면 a부터 b 사이의 숫자 중 하나를 뽑아줍니다. 여기서 중요한 점은 ab 모두 포함된다는 것입니다.

Python
import random # random 모듈을 가져옵니다. # 1부터 100까지의 숫자 중 하나를 무작위로 뽑습니다. random_number = random.randint(1, 100) # 뽑은 숫자를 화면에 출력합니다. print("뽑힌 숫자는:", random_number)

위 코드를 실행할 때마다 1부터 100 사이의 다른 숫자가 나올 것입니다. 주사위 게임처럼 1부터 6까지의 숫자를 뽑고 싶다면 randint(1, 6)을 사용하면 됩니다.

출력 결과 (예시)
뽑힌 숫자는: 42

(실행할 때마다 숫자는 달라집니다.)

예시 2: 목록(리스트)에서 무작위로 하나 뽑기 - choice()

숫자뿐만 아니라, 여러 개 중에서 하나를 무작위로 뽑고 싶을 때도 있습니다. 점심 메뉴를 고르거나, 반 친구들 중에서 발표할 사람 한 명을 뽑는 것처럼요. 파이썬에서는 이런 여러 개를 '리스트'라는 곳에 모아둘 수 있습니다. random 모듈의 choice(seq) 함수는 리스트(또는 순서가 있는 것)에서 항목 하나를 무작위로 선택해줍니다.

Python
import random # random 모듈을 가져옵니다. # 점심 메뉴 리스트를 만듭니다. lunch_menu = ["짜장면", "김치찌개", "돈까스", "비빔밥", "파스타"] # 리스트에서 하나를 무작위로 선택합니다. today_menu = random.choice(lunch_menu) # 선택된 메뉴를 출력합니다. print("오늘 점심은:", today_menu)

위 코드를 실행할 때마다 lunch_menu 리스트 안에 있는 메뉴 중 하나가 무작위로 선택됩니다.

출력 결과 (예시)
오늘 점심은: 돈까스

(실행할 때마다 메뉴는 달라집니다.)

예시 3: 0.0과 1.0 사이의 실수(소수점 있는 숫자) 뽑기 - random()

때로는 정수(자연수, 0, 음의 정수)가 아닌 소수점 있는 숫자, 즉 실수(floating-point number)가 필요할 때도 있습니다. random 모듈의 random() 함수는 0.0 이상 1.0 미만의 범위에서 무작위로 실수를 하나 뽑아줍니다.

Python
import random # random 모듈을 가져옵니다. # 0.0 이상 1.0 미만의 실수를 무작위로 뽑습니다. random_float = random.random() # 뽑은 실수를 출력합니다. print("뽑힌 실수는:", random_float)

이 함수는 항상 0.0보다는 크거나 같고, 1.0보다는 작은 실수를 반환합니다. 예를 들어, 0.12345, 0.98765 등의 숫자가 나올 수 있습니다.

출력 결과 (예시)
뽑힌 실수는: 0.7563112520953423

(실행할 때마다 숫자는 달라집니다.)

주의:

random.random() 함수는 항상 0.0과 1.0 사이의 실수를 뽑습니다. 만약 더 넓은 범위의 실수가 필요하다면 random.uniform(a, b) 함수를 사용할 수 있으며, 이 함수는 ab 사이의 실수를 뽑아줍니다.

핵심 : random 모듈을 사용하려면 먼저 import random을 해야 합니다. random.randint(a, b)는 a와 b를 포함한 범위에서 정수를, random.choice(seq)는 목록에서 항목 하나를, random.random()은 0.0과 1.0 사이의 실수를 무작위로 뽑아줍니다.

마무리 요약

이번 시간에는 파이썬의 random 모듈을 사용하여 특정 범위의 정수, 리스트의 항목, 그리고 0과 1 사이의 실수를 무작위로 뽑는 방법을 배웠습니다. random 모듈은 게임 만들기, 시뮬레이션 등 무작위성이 필요한 다양한 프로그램에서 유용하게 활용될 수 있습니다. 이제 여러분은 파이썬으로 간단한 숫자 뽑기 놀이를 만들 수 있게 되었습니다! 다음 강의에서는 사용자의 입력을 받아 프로그램이 사용자와 상호작용하는 방법을 배워보겠습니다.

실제로 코딩을 해보면서 원하는 숫자가 무작위로 잘 뽑히는지 확인해보세요!

질문이 있다면 댓글에 남겨주세요.

다음 강의에서는 사용자의 입력을 처리하는 방법을 배워 봅니다.