웹사이트 검색

Python의 randint() 메서드


소개

이 자습서에서는 Python의 randint() 메서드에 중점을 둘 것입니다. 이전 튜토리얼에서는 Python의 Random Number Tutorial에서 random 모듈 내부에 정의된 다양한 난수 생성 방법을 보았습니다.

따라서 이미 알고 있듯이 randint() 메서드를 사용하려면 먼저 Python에서 random 모듈을 가져와야 합니다. 이 모듈은 기본적으로 의사 무작위성을 생성합니다.

randint() 메서드 구문

기본적으로 Python의 randint() 메서드는 두 개의 매개변수로 제공되는 두 개의 하한과 상한(양쪽 한계 포함) 사이의 임의의 정수 값을 반환합니다.

이 방법은 정수형 랜덤 값만 생성할 수 있다는 점에 유의해야 합니다. 메서드를 추가로 통합할 수 있도록 구문을 살펴보세요.

#randint() Syntax
randint(lower limit , upper limit)

여기,

  • 하한값은 임의의 정수가 생성되는 시작점이며 이를 포함합니다.
  • uppwer limit는 메서드가 임의의 정수를 반환하는 정지 지점입니다.

위의 예는 N>=beg 및 N<=end인 정수 N을 반환합니다.

randrange(beg,end)와 같은 방식으로 작동하므로 같은 것의 별칭입니다.

randint() 메서드 예제

아래 주어진 코드를 살펴보겠습니다. randint() 메서드의 사용 및 작업을 보여줍니다.

import random
beg=10
end=100
random_integer = random.randint(beg, end)
print("The random integer is :", random_integer)

산출:

분명히 randint() 메서드가 1-100 범위 내에서 임의의 정수 값을 생성한다는 것을 알 수 있습니다.

이 값은 무작위입니까? 메서드를 여러 번 호출하면 어떻게 됩니까? 동일한 값을 반환합니까?

여러 randint() 메서드 호출

아래의 코드 스니펫은 위에서 언급한 모든 질문에 답하고 명확한 이해를 제공합니다.

import random
beg=10
end=100
for i in range(5):
    print(random.randint(beg, end))

산출:

위의 코드에서 random.randint() 메서드를 반복하면 10에서 100까지의 제한 내에서 각 호출에 대해 서로 다른 임의의 정수가 제공됩니다.

따라서 값이 각 호출에 대해 임의적이며 우리의 경우에는 겹치지 않는다는 것을 추론할 수 있습니다. 또한 호출 횟수가 많고 범위가 매우 작은 경우 생성된 임의의 값이 충돌하거나 겹칠 수 있습니다.

앞서 말했듯이 상한 및 하한 매개변수가 정수 유형이어야 합니다. 다른 유형의 경우 아래와 같이 ValueError가 발생합니다.

import random
beg=5.3
end=10.2
print(random.randint(beg, end))

산출:

Traceback (most recent call last):
  File "C:/Users/sneha/Desktop/test.py", line 4, in <module>
    print(random.randint(beg, end))
  File "C:\Users\sneha\AppData\Local\Programs\Python\Python37-32\lib\random.py", line 222, in randint
    return self.randrange(a, b+1)
  File "C:\Users\sneha\AppData\Local\Programs\Python\Python37-32\lib\random.py", line 186, in randrange
    raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()

Process finished with exit code 1

결론

Python의 randint() 메서드에 대한 이 간단한 자습서가 함수를 명확하게 만들었기를 바랍니다. 댓글을 통한 피드백은 언제나 환영합니다.

참조

  • https://docs.python.org/3/library/random.html
  • /community/tutorials/python-random-number
  • https://stackoverflow.com/questions/34865409/python-and-random-randint