-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
print(int(random()*10)) 결과
20.12.02 17:12 작성 조회수 194
0
print(int(random()*10)) 결과는 0~9 사이의 값 아닌가요?
10은 포함이 아닌 것 같네요.
답변을 작성해보세요.
0
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 사이 정수값
쓰시면 되겠습니다.
답변 1