随机数在计算机编程中是非常重要的,Python编程语言提供了一个内置库random,用于生成伪随机数。本文将会全方位地解析Python内置库-random。
一、random库的简介
random是Python中的一个内置模块,它提供了各种随机数生成功能。随机数在Python语言中应用广泛,如密码生成、随机选择等。我们可以通过这个库来创建数值随机序列和随机生成单个值。
import random
二、随机数生成
random模块中最基础的功能就是生成随机数函数,其中包括整数、浮点数、布尔值等的生成。
1.整型随机数
random库提供了randint()函数,用于生成给定范围内的整型随机数(左右端点均包括)。
import random
a = random.randint(1,10)
print(a) # 生成1~10之间的随机整数
2.浮点型随机数
random库提供了uniform()函数,用于生成范围内的浮点随机数。
import random
b = random.uniform(10.5,15.5)
print(b) # 生成10.5~15.5之间的随机浮点数
3.生成随机布尔值
random库还能够生成随机布尔值(注意所有开头字母必须小写)。
import random
c = random.choice([True, False])
print(c) # 随机生成True或False
三、生成随机序列
Python内置库random也可以用于生成随机序列,包括字符串、列表、元组。
1.随机打乱列表顺序
我们可以使用shuffle()函数来打乱列表的顺序。
import random
lst = [1, 2, 3, 4, 5, 6]
random.shuffle(lst)
print(lst) # 随机输出列表内容
2.从序列中随机选择元素
random库中的choices()函数可以从序列中随机选择特定数量的元素进行组合,而不是只选择一个元素。
import random
lst = [1, 2, 3, 4, 5, 6]
d = random.choices(lst, k=3) # 从序列lst中选出三个元素
print(d)
3.生成随机字符串
random字符串库中的字符串模块可以用于随机生成字符串,可以设置字符的类型以及字符串的长度。
import random
import string
e = ''.join(random.choices(string.ascii_letters + string.digits, k=10)) #随机生成长度为10的字符串
print(e)
四、随机概率的应用
random库不仅可以生成随机数,还可以用于随机概率的应用场景。
1.翻硬币
我们可以生成一个函数来模拟翻硬币的情况,并计算正面和反面的概率。
import random
def flip_coin(n):
heads = 0
tails = 0
for i in range(n):
result = random.choice(['heads','tails'])
if result == 'heads':
heads += 1
else:
tails += 1
return (heads/n, tails/n)
print(flip_coin(1000)) # 输出正反面的百分比
2.骰子游戏
我们可以生成一个函数来模拟骰子游戏的情况,并计算每种点数出现的概率。
import random
def dice_game(n):
players = ['player1','player2']
outcomes = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
scores = {i:0 for i in outcomes}
for i in range(n):
player = random.choice(players)
outcome = random.choice(outcomes)
scores[outcome] += 1
for outcome in outcomes:
print('{}: {}'.format(outcome, scores[outcome]/n))
dice_game(1000) # 输出每种点数出现的概率
五、其他
除了以上功能外,random库还提供了其他有用的函数如seed()、getstate()和setstate()等。
import random
random.seed(101) # 设置seed
print(random.random()) # 输出随机数
state = random.getstate() # 获取当前随机状态
print(random.randint(1, 10))
random.setstate(state) # 恢复设置
print(random.randint(1, 10))
六、总结
在Python编程中,random库是一个非常重要的内置库,它提供了多种随机数生成功能和随机序列生成功能,并且适用于各种随机概率的应用场景。我们可以通过本文对random库的介绍,更好地了解如何处理和使用随机数,以及如何在Python编程中灵活应用。