포스트 난이도: HOO_Junior
# from random import randint
주사위 문제는 랜덤 함수를 제대로 사용할 수 있는지를 평가하고 이에 대한 정의를 제대로 할 수 있는 보려는 기초 문제 중 하나이다. 그래서 6개의 숫자이든 20면체이든 상관없이 랜덤 함수만 잘 정의하고 사용할 수 있다면 쉽게 문제를 풀 수 있다.
from random import randint
class Dice:
def __init__(self, sides=6):
self.sides = sides
def roll(self):
return randint(1, self.sides)
my_dice = Dice()
result = my_dice.roll()
print(f" Dice sides:{my_dice.sides} Result:{result}")
d20 = Dice(20)
print( {d20.roll()})
위의 예제코드를 보면, from random import randint로 랜덤 함수가 정의된 것을 확인할 수 있다. 이 부분이 주어졌다면 랜덤함수 사용하라고 알려주는 셈이니, 랜덤 함수를 정의해 주면 된다. Class Dice로 먼저 주사위라는 클래스를 정의해 준 다음에 두 가지 def로 나눠서 선언해 주면 된다. 첫 번째로 사용할 객체 __init__ 정의를 해주고 그리고 def roll, 즉 주사위를 굴렸을 때 랜덤하게 나올 수 있는 기능 또는 속성을 선언해 주면 된다. randint에 괄호를 사용하는 건 랜덤 하게 나올 숫자의 시작과 끝에 대한 범위를 지정해 주기 위해서이다. 1 대신해서 객체에서 시작값 또는 초기값을 지정해 줘도 상관없다.
추가적으로 f string를 잘 사용한다면 출력하는데 있어서 훨씬 편하다. 문자열과 값을 같이 사용해야 하는 경우 f string을 사용해서 출력을 해줄 수 있다. 마지막으로 d20 = Dice(20)은 class Dice가 이미 선언되어 있기 때문에 해당 클래스를 사용해서 다른 주사위로 출력이 가능하다.
728x90
'Programming Languages > Python' 카테고리의 다른 글
| [파이썬 코딩 테스트] Tuple and Repeat (0) | 2026.02.15 |
|---|---|
| [파이썬 코딩 테스트] boolean (0) | 2026.02.14 |
| [파이썬 코딩 테스트] 직사각형 넓이 구하기 (0) | 2026.02.12 |
| [파이썬 코딩 테스트] 두자리 정수 분리하고 연산하기 (0) | 2026.02.11 |
| Keras, model.compile() - 파이썬에서 케라스 모델 컴파일이란 (10) | 2025.06.14 |
댓글