Модулът Python Random е вграден модул за генериране на произволни цели числа в Python. Тези числа се появяват на случаен принцип и не следват никакви правила или инструкции. Следователно можем да използваме този модул за генериране на произволни числа, показване на произволен елемент за списък или низ и т.н.
Функцията random().
Функцията random.random() дава плаващо число, което варира от 0,0 до 1,0. Няма необходими параметри за тази функция. Този метод връща втората случайна стойност с плаваща запетая в рамките на [0.0 и 1].
Код
# Python program for generating random float number import random num=random.random() print(num)
Изход:
0.3232640977876686
Функцията randint().
Функцията random.randint() генерира произволно цяло число от диапазона от предоставени числа.
Код
# Python program for generating a random integer import random num = random.randint(1, 500) print( num )
Изход:
215
Функцията randrange().
Функцията random.randrange() избира произволно елемент от дадения диапазон, определен от параметрите за начало, спиране и стъпка. По подразбиране началото е зададено на 0. По същия начин стъпката е зададена на 1 по подразбиране.
Код
# To generate value between a specific range import random num = random.randrange(1, 10) print( num ) num = random.randrange(1, 10, 2) print( num )
Изход:
4 9
Функцията choice().
Функцията random.choice() избира произволно елемент от непразна серия. В дадената по-долу програма сме дефинирали низ, списък и набор. И с помощта на горния метод choice() се избира произволен елемент.
Код
# To select a random element import random random_s = random.choice('Random Module') #a string print( random_s ) random_l = random.choice([23, 54, 765, 23, 45, 45]) #a list print( random_l ) random_s = random.choice((12, 64, 23, 54, 34)) #a set print( random_s )
Изход:
M 765 54
Функцията shuffle().
Функцията random.shuffle() разбърква дадения списък произволно.
Код
# To shuffle elements in the list list1 = [34, 23, 65, 86, 23, 43] random.shuffle( list1 ) print( list1 ) random.shuffle( list1 ) print( list1 )
Изход:
[23, 43, 86, 65, 34, 23] [65, 23, 86, 23, 34, 43]
Програма Rock-Paper-Scissor, използваща Random Module
Код
# import random module import random # Function to play game def start_game(): # Print games rules and instructions print(' This is Javatpoint's Rock-Paper-Scissors! ') print(' Please Enter your choice: ') print(' choice 1: Rock ') print(' choice 2: Paper ') print(' choice 3: Scissors ') #To take the user input choice_user = int(input(' Select any options from 1 - 3 : ')) # randint() Function which generates a random number by computer choice_machine = random.randint(1, 3) # display the machines choice print(' Option choosed by Machine is: ', end = ' ') if choice_machine == 1: print(' Rock ') elif choice_machine == 2: print('Paper') else: print('Scissors') # To declare who the winner is if choice_user == choice_machine: print(' Wow It's a tie! ') elif choice_user == 1 and choice_machine == 3: print(' Congratulations!! You won! ') elif choice_user == 2 and choice_machine == 1: print(' Congratulations!! You won! ') elif choice_user == 3 and choice_machine == 2: print(' Congratulations!! You won! ') else: print(' Sorry! The Machine Won the Game? ') # If user wants to play again play_again = input(' Want to Play again? ( yes / no ) ').lower() if play_again == ' yes ': start_game() else: print(' Thanks for playing Rock-Paper-Scissors! ') # Begin the game start_game()
Изход:
This is Javatpoint's Rock-Paper-Scissors! Please Enter your choice: choice 1: Rock choice 2: Paper choice 3: Scissors Select any options from 1 - 3 : 1 Option choosed by Machine is: Rock Wow It's a tie! Want to Play again? ( yes / no ) yes This is Javatpoint's Rock-Paper-Scissors! Please Enter your choice: choice 1: Rock choice 2: Paper choice 3: Scissors Select any options from 1 - 3 : 2 Option choosed by Machine is: Scissors Congratulations!! You won! Want to Play again? ( yes / no ) no Thanks for playing Rock-Paper-Scissors!
Различни функции на случаен модул
Следва списъкът с функции, налични в произволния модул.
функция | Описание |
---|---|
seed (a=Няма, версия=2) | Тази функция създава ново произволно число. |
getstate() | Този метод предоставя обект, отразяващ текущото състояние на генератора. Предоставете аргумента на setstate(), за да възстановите състоянието. |
setstate(състояние) | Предоставянето на обекта състояние нулира състоянието на функцията в момента, в който getstate() е извикан. |
getrandbits(k) | Тази функция предоставя цяло число на Python с k произволни бита. Това е важно за алгоритми за производство на произволни числа като randrange(), които могат да управляват произволно големи диапазони. |
рандиапазон (начало, спиране [, стъпка]) | От диапазона той произвежда произволно цяло число. |
връщане (a, b) | Осигурява произволно цяло число в рамките на a и b (и двете включително). Ако a > b, се хвърля ValueError. |
избор (последователност) | Произвеждане на случаен елемент от непразна серия. |
разбъркване (последователност) | Променете реда. |
извадка (популация, k) | Покажете списък с уникални записи с k-размер от популацията. |
случаен() | Тази функция създава ново произволно число. |
униформа (а, б) | Този метод предоставя обект, отразяващ текущото състояние на генератора. Предоставете аргумента на setstate(), за да възстановите състоянието. |
триъгълен (нисък, висок, режим) | Предоставянето на обекта състояние нулира състоянието на функцията в момента, в който getstate() е извикан. |
гуас (мю, сигма) | Със средното и стандартното отклонение произволно се генерира плаващо число. | бетавариант (алфа, бета) | При алфа и бета, произволно се генерира плаващо число между диапазона 0 и 1. - Бета разпределение | expovariate (ламбда) | Числото с плаваща единица се генерира чрез използване на аргумента ламбда. - Експоненциално разпределение | нормална променлива (мю, сигма) | Със средното и стандартното отклонение произволно се генерира плаващо число. - Нормална дистрибуция | gamavariate (алфа, бета) | При алфа и бета, плаващо число се генерира на случаен принцип. - Гама разпределение |
Заключение
В заключение, научихме за различни методи, които произволният модул на Python ни предоставя за работа с цели числа, числа с плаваща запетая и други последователности като списъци, кортежи и т.н. Също така разгледахме как семето влияе върху модела на псевдослучайни числа.