python中random.randint和random.randrange的区别详解

在python中,通过导入random库,就能使用randint 和 randrange
这两个方法来产生随机整数。那这两个方法的区别在于什么地方呢?让我们一起来看看!

区别:

randint 产生的随机数区间是包含左右极限的,也就是说左右都是闭区间的[1, n],能取到1和n。而 randrange 产生的随机数区间只包含左极限,也就是左闭右开的[1, n),1能取到,而n取不到。randint 产生的随机数是在指定的某个区间内的一个值,而 randrange 产生的随机数可以设定一个步长,也就是一个间隔。

区别1——例子:

randint 示例:

import random
while True:
 rdt = random.randint(1, 3)
 print(rdt, end="")
 if rdt == 3:
  break

输出结果:产生随机数3即停止。

C:\Users\ASUS\AppData\Local\Programs\Python\Python37\python.exe F:/python/test.py
1121213
Process finished with exit code 0

randrange 示例:

import random
while True:
 rdt = random.randrange(1, 3)
 print(rdt, end="")
 if rdt == 3:
  break

输出结果:永远无法取到有边界,无线循环下去。

区别2——例子:

randint 示例:

import random
for i in range(1, 10):
 print(random.randint(1, 100, 10), end=" ")

输出结果:randint 无法设定步长,报如下错误!

randrange 示例:

import random
for i in range(1, 10):
 print(random.randrange(1, 100, 10), end=" ")

输出结果:设定步长为10,产生的随机数间隔都是10的整数倍。

C:\Users\ASUS\AppData\Local\Programs\Python\Python37\python.exe F:/python/test.py
31 31 71 21 21 31 41 71 31
Process finished with exit code 0

到此这篇关于python中random.randint和random.randrange的区别详解的文章就介绍到这了,更多相关python random.randint random.randrange内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Python中打乱列表顺序random.shuffle()的使用方法

    之前自己一直使用random中 randint生成随机数以及使用for将列表中的数据遍历一次. 现在有个需求需要将列表的次序打乱,或者也可以这样理解: [需求]将一个容器中的数据每次随机逐个遍历一遍. random.shuffle()方法提供了完美的解决方案. 不会生成新的列表,只是将原列表的次序打乱 # shuffle()使用样例 import random x = [i for i in range(10)] print(x) random.shuffle(x) print(x) 源码及注释

  • Python使用random.shuffle()打乱列表顺序的方法

    Python的random.shuffle()函数可以用来乱序序列,它是在序列的本身打乱,而不是新生成一个序列. 示例: from random import shuffle x = [[i] for i in range(10)] shuffle(x) shuffle()返回的是None,列表x的顺序被打乱. 以上这篇Python使用random.shuffle()打乱列表顺序的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python中的random.uniform()函数教程与实例解析

    random.uniform( ) 函数教程与实例解析 1. uniform( ) 函数说明 random.uniform(x, y)方法将随机生成一个实数,它在 [x,y] 范围内. 2. uniform( ) 的语法与参数 2.1 语法 # _*_ coding: utf-8 _*_ import random random.uniform(x, y) 或 # _*_ coding: utf-8 _*_ from random import uniform uniform(x, y) 提示:

  • 基于Python中random.sample()的替代方案

    python中random.sample()方法可以随机地从指定列表中提取出N个不同的元素,但在实践中发现,当N的值比较大的时候,该方法执行速度很慢,如: numpy random模块中的choice方法可以有效提升随机提取的效率: 需要注意的是,需要置replace为False,即抽取的元素不能重复,默认为True. 补充知识:Python: random模块的随即取样函数:choice(),choices(),sample() choice(seq): 从seq序列中(可以是列表,元组,字符

  • python中的数组赋值与拷贝的区别详解

    具体的注解我已经写在了程序里面:通俗的解释了python里面的浅拷贝与深拷贝的不同,请看程序. # -*- coding: utf-8 -*- import numpy as np import copy as cp import matplotlib.pyplot as plt import time import math fig = plt.figure() ax = fig.add_subplot(241) # 定义一个多维数组 x = np.array([[1, 2, 3], [4,

  • Python中函数eval和ast.literal_eval的区别详解

    前言 众所周知在Python中,如果要将字符串型的list,tuple,dict转变成原有的类型呢? 这个时候你自然会想到eval. eval函数在python中做数据类型的转换还是很有用的.它的作用就是把数据还原成它本身或者是能够转化成的数据类型.下面来看看示例代码: string <==> list string <==> tuple string <==> dict 也就是说,使用eval可以实现从元祖,列表,字典型的字符串到元祖,列表,字典的转换,此外,eval

  • python中response.text 和response.content的区别详解

    1.response.text - 类型:str - 解码类型: 根据HTTP 头部对响应的编码作出有根据的推测,推测的文本编码 - 如何修改编码方式:response.encoding="gbk" 2. response.content - 类型:bytes - 解码类型: 没有指定 - 如何修改编码方式:response.content.deocde("utf-8") 3.获取网页源码的通用方式: response.content.decode() respon

  • python中random.randint和random.randrange的区别详解

    在python中,通过导入random库,就能使用randint 和 randrange 这两个方法来产生随机整数.那这两个方法的区别在于什么地方呢?让我们一起来看看! 区别: randint 产生的随机数区间是包含左右极限的,也就是说左右都是闭区间的[1, n],能取到1和n.而 randrange 产生的随机数区间只包含左极限,也就是左闭右开的[1, n),1能取到,而n取不到.randint 产生的随机数是在指定的某个区间内的一个值,而 randrange 产生的随机数可以设定一个步长,也

  • python中requests库session对象的妙用详解

    在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也会在同一个session实例发出的所有请求之间保持cookies. 举个栗子,跨请求保持cookies,在命令行上输入下面命令: # 创建一个session对象 s = requests.Session() # 用session对象发出get请求,设置cookies s.get('http://ht

  • 基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查是否安装了pip 打开一个终端窗口,并执行如下命令: Python2.7中: zhuzhu@zhuzhu-K53SJ:~$ pip --version pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7) Python3.X中: z

  • 在python中按照特定顺序访问字典的方法详解

    最近使用python写一些东西,在参考资料的时候发现字典是没有顺序的,那么怎么样按照一定顺序访问字典呐,我找到了一个小方法: 假设一个字典是: D = {'a': '1', 'b': '2', 'c': '3'} 如果我们要按照a, b, c的顺序访问字典,可以借助一个列表,比如说: L = list(D.keys()) L.sort() for key in L: print(key, 'is' D[key]) 输出为: a is 1 b is 2 c is 3 需要倒序的话只需使用倒序函数排

  • 对python中的控制条件、循环和跳出详解

    对python中的控制条件.循环和跳出详解 代码缩进(代码块): python用缩进表示代码块,没有其他语言的大括号 缩进是强制检查,整个代码缩进必须一致,否则无法运行 用2.4个空格或者tab缩进 ide自动保证缩进一致 If.elif和else的条件分支: if if...else if...elif..else 没有switch.case语法 空的列表.元祖.字符串.0都被评估为False None被评估为False 控制条件后面必须加":" a=100 if a > 80

  • 对Python中class和instance以及self的用法详解

    一. Python 的类和实例 在面向对象中,最重要的概念就是类(class)和实例(instance),类是抽象的模板,而实例是根据类创建出来的一个个具体的 "对象". 就好比,学生是个较为抽象的概念,同时拥有很多属性,可以用一个 Student 类来描述,类中可定义学生的分数.身高等属性,但是没有具体的数值.而实例是类创建的一个个具体的对象, 每一个对象都从类中继承有相同的方法,但是属性值可能不同,如创建一个实例叫 hansry 的学生,其分数为 93,身高为 176,则这个实例拥

  • 对python中的os.getpid()和os.fork()函数详解

    如下所示: import os import sys import time processNmae = 'parent' print "Program executing ntpid:%d,processNmae:%s"%(os.gitpid(),processNmae) #attempt to fork child process try: forkPid = os.fork() except OSError: sys.exit("Unable to create new

随机推荐