random은 Python이 의사 난수를 생성하는 모듈입니다. 무작위 시드의 기본값은 시스템 시계입니다. 모듈의 메소드는 다음과 같이 분석됩니다.
정수 난수를 생성하는 함수입니다. start 매개변수는 최소값을 나타내고, stop 매개변수는 최대값을 나타냅니다. 양쪽 끝의 값을 얻을 수 있습니다. ;
함수 알고리즘의 시간 복잡도는 O(1)
핵심 소스 코드:
return self.randrange(a,b+1) #调用randrange函数来处理
인스턴스:
import random for i in range(20): print(random.randint(0,10),end=' ')
결과:
1 1 7 5 10 1 4 1 0 8 7 7 2 10 6 8 6 0 3 1
도 임의의 정수 함수이며 선택적 매개변수
매개변수가 하나만 있는 경우 기본 무작위 범위는 매개변수에 대해 0이며, 먼저 닫히고 나중에 열립니다.
두 개의 매개변수가 있으며 최소값과 최대값을 나타내며 먼저 닫히고 열림return istart+istep*self._randbelow(n) #调用randbelow函数处理
import random for i in range(10): print(random.randrange(10),end=' ') #产生0到10(不包括10)的随机数 print("") for i in range(10): print(random.randrange(5,10),end=' ') #产生5到10(不包括10)的随机数 print("") for i in range(10): print(random.randrange(5,100,5),end=' ') #产生5到100(不包括100)范围内的5倍整数的随机数
1 1 2 4 4 3 4 6 1 4 6 6 5 7 8 9 6 6 6 5 30 50 20 40 75 85 25 65 80 95
i=self._randbelow(len(seq)) #由randbelow函数得到随机地下标 return seq[i]
import random list3=["mark","帅",18,[183,138]] for j in range(10): print(random.choice(list3),end=' ')
mark 帅 [183, 138] 18 mark 18 mark 帅 帅 [183, 138]
import random for j in range(5): print(random.random(),end=' ')
0.357486615834809 0.5928029747238529 0.37053940107869987 0.3802224543848519 0.9741990956161711
import random random.seed("mark") for j in range(20):#无论启动多少次程序,输出的序列不变 print(random.randint(0,10),end=' ')
4 1 10 5 6 2 8 5 5 10 7 2 9 6 2 6 0 5 10 10
import random tuple1=random.getstate()#记录生成器的状态 for i in range(20): print(random.randint(0,10),end=' ') print() random.setstate(tuple1)#传入参数回复之间的状态 for i in range(20): print(random.randint(0,10),end=' ')#两次输出的结果一致
5 7 9 9 10 10 2 3 7 1 1 6 1 7 1 1 7 4 2 2 5 7 9 9 10 10 2 3 7 1 1 6 1 7 1 1 7 4 2 2
for i in reversed(range(1,len(x))): j=randbelow(i+1) x[i],x[j]=x[k],x[i]
import random lists=['mark','帅哥',18,[183,138]] print(lists) random.shuffle(lists,random=None) print(lists)
['mark', '帅哥', 18, [183, 138]] ['帅哥', 18, 'mark', [183, 138]]
import random lists=['mark','帅哥',18,[183,138]] lists2=random.sample(lists,3) print(lists) print(lists2)
['mark', '帅哥', 18, [183, 138]] ['mark', [183, 138], '帅哥']
return a+(b-a)*self.random()
import random for i in range(5): print(random.uniform(10,1))
2.8826090956524606 1.5211191352548408 3.2397454278562794 4.147879756524251 6.532545391009419
위 내용은 Python의 무작위 모듈 분석(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!