클래스를 사용하여 n면체 주사위를 만들어보자.
- 클래스 이름은 n_dice
- 주사위 면의 개수 n을 인스턴스 변수로 선언하여 n을 입력한다.
- 메서드 throw를 만들어 1~n중 하나의 값이 나오게 한다.
import numpy as np
class n_dice:
def __init__(self,n=6):
self.n=int(n)
self.num=np.random.randint(self.n)
def throw(self):
self.num=np.random.randint(self.n)
def get_num(self):
return self.num
def get_input():
n=int(input('주사위의 면의 개수: '))
return n
def main():
n=get_input()
mydice=n_dice(n)
mydice.throw()
print('행운의 숫자는?{}'.format(mydice.get_num()))
if __name__=='__main__':
main()
numpy를 쓰니까 훨씬 간단하게 처리가 되었다.
def __init__(self,n=6): self.n=int(n) self.num=np.random.randint(self.n)
생성자 __init__
def throw(self): self.num=np.random.randint(self.n) def get_num(self): return self.num
throw 매서드를 이용해 정수로 입력받은 n사이의 숫자를 랜덤으로 뽑는다.
그리고 get_num이라는 매서드로 숫자를 반환한다.