• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

print(int(random()*10)) 결과

20.12.02 17:12 작성 조회수 194

0

print(int(random()*10)) 결과는 0~9 사이의 값 아닌가요?
10은 포함이 아닌 것 같네요.

답변 1

답변을 작성해보세요.

0

Jeong su Park님의 프로필

Jeong su Park

2020.12.03

random()를 쓸 때, 0~9 사이의 값이 나오는 것이 맞습니다. 자세히 설명하자면 
random() 함수를 쓸 때, 0.00000~0.99999... 범위의 난수를 구하게 됩니다. 
int 함수는 숫자 점 기준으로 오른쪽에 있는 수를 버리기 때문에 int(9.9) 하게되면 값이 9가 나옵니다.
즉 int(random()*10)이 나올 수 있는 값 범위는 0~9 범위이기 때문에 10은 나올 수 없습니다.

10의 값을 나오기 위해서는 random 라이브러리에서 다양한 방법이 있지만
저 같은 경우는 randint 함수를 사용합니다.
randint(1,10)를 쓰게되면 1부터 10이하의 정수값을 반환 해주기 때문에,
혹시나 10까지 범위를 확장하실러면,

print(randint(1,10)) #1~10 사이 정수값

쓰시면 되겠습니다.