Python中生成随机数的6种用法及实例演示

liftword3周前 (12-09)技术文章16

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

相关文章

「插图学编程」教你一招,干干净净卸载Python

是认真的。我们在写怎么从hello world开始你的python之旅,本篇是说卸载python安装版,不是放弃python哦。为什么要卸载有的版本太旧。python3一改python2的旧习,成了名...

Python——pandas删除指定行或列

1. 删除指定行new_df = df.drop(index='行索引')new_df = df.drop('行索引', axis='index')ne...

干净卸载Anaconda、Python的方法

??本文介绍在Windows平台下,彻底删除Anaconda环境与其自带Python版本,并进行重新安装的方法。??最近,由于原有Anaconda环境中的部分第三方库出现了冲突的情况,且基于“Anac...