Python은 다음을 통해 난수를 생성하거나 조작하는 데 사용되는 함수 세트를 정의합니다. 무작위 모듈.
기능 무작위 모듈 0.0과 1.0 사이의 부동소수점 난수를 생성하는 의사 난수 생성기 함수인 random()을 사용합니다. 이러한 특정 유형의 기능은 많은 게임, 복권 또는 난수 생성이 필요한 모든 응용 프로그램에서 사용됩니다.
Python에서 다음을 사용하여 난수를 생성하는 예를 살펴보겠습니다. 무작위() 함수.
파이썬3
작업 관리자 리눅스
import> random> num>=> random.random()> print>(num)> |
>
>
산출:
0.30078080420602904>
Python에서 난수를 생성하는 다양한 방법
Python 무작위 모듈의 기능을 사용하여 Python에서 난수를 생성하는 방법에는 여러 가지가 있습니다. 몇 가지 다른 방법을 살펴보겠습니다.
난수 생성 선택() 사용
파이썬 무작위.선택() 목록에서 임의의 항목을 반환하는 Python 프로그래밍 언어의 내장 함수입니다. 튜플 , 또는 문자열.
파이썬3
# import random> import> random> # prints a random value from the list> list1>=> [>1>,>2>,>3>,>4>,>5>,>6>]> print>(random.choice(list1))> # prints a random item from the string> string>=> 'striver'> print>(random.choice(string))> |
>
>
산출:
5 t>
randrange()를 사용하여 난수 생성
Random 모듈은 지정된 범위에서 Python 난수를 생성할 수 있고 단계를 포함할 공간을 허용하는 randrange()라는 함수를 제공합니다.
파이썬 프로그램
파이썬3
# importing 'random' for random operations> import> random> # using choice() to generate a random number from a> # given list of numbers.> print>(>'A random number from list is : '>, end>=>'')> print>(random.choice([>1>,>4>,>8>,>10>,>3>]))> # using randrange() to generate in range from 20> # to 50. The last parameter 3 is step size to skip> # three numbers when selecting.> print>(>'A random number from range is : '>, end>=>'')> print>(random.randrange(>20>,>50>,>3>))> |
>
>
산출:
A random number from list is : 4 A random number from range is : 41>
Seed()를 사용하여 난수 생성
파이썬 무작위.시드() 함수는 동일한 시스템이나 다른 시스템(특정 시드 값에 대해)에서 코드를 여러 번 실행할 때 Python에서 임의의 숫자를 생성할 수 있도록 무작위 함수의 상태를 저장하는 데 사용됩니다. 시드 값은 생성기가 생성한 이전 값 번호입니다. 처음으로 이전 값이 없으면 현재 시스템 시간을 사용합니다.
파이썬3
# importing 'random' for random operations> import> random> # using random() to generate a random number> # between 0 and 1> print>(>'A random number between 0 and 1 is : '>, end>=>'')> print>(random.random())> # using seed() to seed a random number> random.seed(>5>)> # printing mapped random number> print>(>'The mapped random number with 5 is : '>, end>=>'')> print>(random.random())> # using seed() to seed different random number> random.seed(>7>)> # printing mapped random number> print>(>'The mapped random number with 7 is : '>, end>=>'')> print>(random.random())> # using seed() to seed to 5 again> random.seed(>5>)> # printing mapped random number> print>(>'The mapped random number with 5 is : '>, end>=>'')> print>(random.random())> # using seed() to seed to 7 again> random.seed(>7>)> # printing mapped random number> print>(>'The mapped random number with 7 is : '>, end>=>'')> print>(random.random())> |
>
>
산출:
A random number between 0 and 1 is : 0.510721762520941 The mapped random number with 5 is : 0.6229016948897019 The mapped random number with 7 is : 0.32383276483316237 The mapped random number with 5 is : 0.6229016948897019 The mapped random number with 7 is : 0.32383276483316237>
shuffle()을 사용하여 난수 생성
shuffle() 함수는 시퀀스(목록)를 섞는 데 사용됩니다. 셔플링은 시퀀스 요소의 위치를 변경하는 것을 의미합니다. 여기서는 셔플링 작업이 수행됩니다.
파이썬3
# import the random module> import> random> # declare a list> sample_list>=> [>'A'>,>'B'>,>'C'>,>'D'>,>'E'>]> print>(>'Original list : '>)> print>(sample_list)> # first shuffle> random.shuffle(sample_list)> print>(>'
After the first shuffle : '>)> print>(sample_list)> # second shuffle> random.shuffle(sample_list)> print>(>'
After the second shuffle : '>)> print>(sample_list)> |
>
>
산출:
Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'B', 'E', 'C', 'D'] After the second shuffle : ['C', 'E', 'B', 'D', 'A']>
uniform()을 사용하여 난수 생성
uniform() 함수는 인수에 언급된 숫자 사이에 부동 소수점 Python 난수를 생성하는 데 사용됩니다. 하한(생성에 포함됨)과 상한(생성에 포함되지 않음)의 두 가지 인수를 사용합니다.
안드로이드를 이용한 이미지 메시지 게임
파이썬3
# Python code to demonstrate the working of> # shuffle() and uniform()> # importing 'random' for random operations> import> random> # Initializing list> li>=> [>1>,>4>,>5>,>10>,>2>]> # Printing list before shuffling> print>(>'The list before shuffling is : '>, end>=>'')> for> i>in> range>(>0>,>len>(li)):> >print>(li[i], end>=>' '>)> print>(>'
'>)> # using shuffle() to shuffle the list> random.shuffle(li)> # Printing list after shuffling> print>(>'The list after shuffling is : '>, end>=>'')> for> i>in> range>(>0>,>len>(li)):> >print>(li[i], end>=>' '>)> print>(>'
'>)> # using uniform() to generate random floating number in range> # prints number between 5 and 10> print>(>'The random floating point number between 5 and 10 is : '>, end>=>'')> print>(random.uniform(>5>,>10>))> |
>
>
산출:
The list before shuffling is : 1 4 5 10 2 The list after shuffling is : 2 1 4 5 10 The random floating point number between 5 and 10 is : 5.183697823553464>