강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

박용정님의 프로필 이미지
박용정

작성한 질문수

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

랜덤함수

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

작성

·

290

0

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

답변 1

0

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 사이 정수값

쓰시면 되겠습니다.

박용정님의 프로필 이미지
박용정

작성한 질문수

질문하기