Python的随机模块是一个内置模块,用于在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游戏

代码

# 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!

随机模块的各种函数

以下是random模块中可用的函数列表。

函数描述
seed(a=None, version=2)此函数创建一个新的随机数。
getstate()此方法提供一个反映生成器当前状态的对象。提供参数给setstate()以恢复状态。
setstate(state)提供状态对象会在调用getstate()时重置函数的状态。
getrandbits(k)此函数提供一个Python整数,具有k个随机位。这对于可以管理任意巨大范围的randrange()之类的随机数生成算法很重要。
randrange(start, stop[, step])从范围中产生一个随机整数。
randint(a, b)在a和b之间随机生成一个整数(两者都包括)。如果a > b,会引发ValueError。
choice(seq)从非空序列中随机选择一个项目。
shuffle(seq)改变顺序。
sample(population, k)从种群序列中随机显示一个大小为k的唯一条目。
random()此函数创建一个新的随机数。
uniform(a, b)此方法提供一个反映生成器当前状态的对象。提供参数给setstate()以恢复状态。
triangular(low, high, mode)提供状态对象会在调用getstate()时重置函数的状态。
guass(mu, sigma)使用均值和标准偏差随机生成浮点数。
betavariate(alpha, beta)在0和1之间随机生成一个浮点数,使用alpha和beta。- Beta分布
expovariate(lambda)使用参数lambda生成浮点数。- 指数分布
normalvariate(mu, sigma)使用均值和标准偏差随机生成浮点数。- 正态分布
gamavariate(alpha, beta)在0和1之间随机生成一个浮点数,使用alpha和beta。- 伽玛分布

结论

总之,我们学习了Python的随机模块为我们提供了处理整数、浮点数和其他序列(如列表、元组等)的各种方法。我们还看到了种子如何影响伪随机数的模式。

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程