Python random库使用方法及异常处理方案
介绍
Python中的random
库用于生成伪随机数。该库提供了多种生成随机数的方法,可以用于各种需要随机数的场景。
安装
random
库是Python标准库的一部分,无需安装额外的模块。
使用方法
生成随机整数
生成指定范围内的随机整数使用randint
函数。函数接收两个参数a
和b
,返回范围在[a,b]
之间的随机整数。
import random
# 生成[0, 100]范围内的随机整数
rand_num = random.randint(0, 100)
print(rand_num)
生成随机小数
生成指定范围内的随机小数可以使用uniform
函数。函数接收两个参数a
和b
,返回范围在[a,b]
之间的随机小数。
import random
# 生成[0.0, 1.0]范围内的随机小数
rand_num = random.uniform(0, 1)
print(rand_num)
从序列中随机选择
从序列中随机选择一个元素可以使用choice
函数。
import random
fruits = ['apple', 'banana', 'orange', 'pear']
rand_fruit = random.choice(fruits)
print(rand_fruit)
打乱序列
打乱序列的顺序可以使用shuffle
函数,该函数会直接修改原序列。
import random
fruits = ['apple', 'banana', 'orange', 'pear']
random.shuffle(fruits)
print(fruits)
随机抽取样本
从序列中随机抽取指定数量的元素可以使用sample
函数。
import random
fruits = ['apple', 'banana', 'orange', 'pear', 'grape', 'kiwi']
rand_fruits = random.sample(fruits, 3)
print(rand_fruits)
异常处理方案
在生成随机数的过程中,当传递给函数的参数不符合正确的输入要求时,random
库会抛出相应的异常。为了让代码更具健壮性,我们可以使用异常处理机制来捕获这些异常并进行相应的处理。
import random
try:
rand_num = random.randint(100, 0)
except ValueError:
print("Error: 输入的范围有误")
在以上代码中,由于传入的参数不符合要求,randint
函数会抛出ValueError
异常。我们使用try...except
语句块来捕获这个异常,然后输出相应的错误信息。这样,我们就可以在出现异常时对程序进行相应的处理,防止程序崩溃。
示例说明
示例1:模拟骰子掷骰子游戏
编写一个小程序,模拟掷两个骰子,统计结果。
import random
# 模拟掷两个骰子,统计结果
def roll_dice():
roll = random.randint(1, 6), random.randint(1, 6)
print(roll)
return sum(roll)
if __name__ == '__main__':
result = roll_dice()
if result == 7 or result == 11:
print("玩家胜利!")
elif result == 2 or result == 3 or result == 12:
print("庄家胜利!")
else:
target = result
print("进入下一轮游戏,目标点数为:", target)
while True:
result = roll_dice()
if result == target:
print("玩家胜利!")
break
elif result == 7:
print("庄家胜利!")
break
上述代码通过roll_dice
函数模拟掷两个骰子并计算结果。然后在main
函数中利用这个函数模拟骰子游戏,如胜利、失败、进入下一轮等情况。
示例2:生成随机验证码
编写一个小程序,生成一个长度为6的随机验证码。
import random
import string
# 生成随机验证码
def generate_code():
code = ''.join(random.sample(string.ascii_letters + string.digits, 6))
print(code)
if __name__ == '__main__':
generate_code()
上述代码通过generate_code
函数生成一个长度为6的由数字与字母组成的随机验证码。其中random.sample
函数随机从指定的字符集中选择6个字符,然后通过join
方法将这6个字符拼接成一个字符串。