Python中生成随机数的6种用法及实例演示
Python中random的用法
1.摘要
在本文中主要进行以下的工作。①介绍random模块的基本概念及其导入;②介绍random中6个常用函数用法与实例演示;③结合该方法拓展“石头剪刀布的猜拳游戏”,用随机函数模拟电脑的输入。
2.步骤
1.首先介绍 random模块的6种基本用法,模块导入如下所示。
import random
float_a = random.random()
如上所示,其中random()是不能直接访问的,必须导入 random 模块,然后通过 random 静态对象调用该方法,即random.random() 。具体效果如下所示,random()是一个最基本的随机函数,作用是产生 0 到 1 之间的随机浮点数
In [4]: import random
...: float_a = random.random()
In [5]: float_a
Out[5]: 0.10114727687609226
同理,按照类似的方式可以调用以下的方法一一进行介绍,我们对random模块当中的6种简单的方法依次进行介绍并使用,具体代码如下所示。
import random
print(random.randint(17001,17035)) # 产生 17001 到 17035的一个整数型随机数
print(random.uniform(60.0,100.0)) # 产生60.0到100.0之间的随机浮点数,区间可以不是整数
①以其中的randint为例,班上每个同学都有相关的学号,我们想要在学号里面随机抽一个人,那么就可以用这个函数传入最大的学号和最小的学号,就可以随机的产生一个在这个范围内的数,达到随机选择某人的效果。
②同理,我们也可以随机生成一个60~100分的成绩,也就是生成一个及格以上的成绩呀。具体运行结果如下所示。
In [8]: import random
...: print(random.randint(17001,17035))
#产生17001到17035的一个整数型随机数
...: print(random.uniform(60.0,100.0))
#产生60.0到100.0之间的随机浮点数,区间可以不是整数
17017
65.91551484665528
同理,根据注释可以得知random的其他三种用法。
lst=[2,4,6,8,10] # 将序列a中的元素顺序打乱
random.shuffle(lst)
print(lst)
print(random.choice('hello baidu')) # 从序列中随机选取一个元素
print(random.randrange(1,100,2) ) # 生成一个从1到100的间隔为2的随机整数
其中某一次的运行结果如下所示,由于是随机的,所以每次的运行结果并非完全一致。
In [9]: lst=[2,4,6,8,10]
#将序列a中的元素顺序打乱
...: random.shuffle(lst)
...: print(lst)
...: print(random.choice('hello baidu'))
#从序列中随机选取一个元素
...: print(random.randrange(1,100,2))
#生成从1到100的间隔为2的随机整数\
[2, 8, 6, 4, 10]
u
89
2.random模块的综合使用
如下所示,创建一个命令行游戏,选手可以在石头、剪刀和布之间进行选择,也即是输出对应的字符,与计算机PK。命令行可以接收选手的选择,并且与计算机的选择进行比较。我们在这里需要讲的是,其中有联系的是,计算机的选择是从选择列表中随机选取。也就是通过random.choice()方法随机选择列表中的某一个值。
import random
# 定义我们自身的选择,只有石头剪刀和布三个选项
my_choices = ["石头", "布", "剪刀"]
# 首先,random.choice()方法用于返回一个列表、元组或字符串中的随机项。
# 也就是说电脑的选择是随机的,从列表my_choices中选择一个
computer_choice = random.choice(my_choices)
player = False