zoukankan      html  css  js  c++  java
  • random

    生成单个随机数

    # encoding:utf-8
    import random
    
    ### 生成单元素
    a = random.random()
    # 返回0-1之间的随机浮点数
    print(a)        # 0.2473362446838867
    
    b = random.uniform(1, 10)
    # 返回指定范围内的随机浮点数,上下限可互换
    print(b)                        # 3.7800015747308917
    print(random.uniform(10, 1))    # 6.59216478923806
    
    c = random.randint(1, 10)
    # 返回指定范围内的整数,上下限不可互换
    print(c)        # 8
    # print(random.randint(10, 1))
    
    d = random.randrange(1, 10, 2)
    # 返回序列内的一个随机数,注意此处并不生成序列
    print(d)        # 7
    
    e = random.choice(range(10))
    # 随机选择序列内的一个数
    print(e)        # 3
    
    # f = random.choices(range(10))
    # # 返回一个单元素的子序列
    # print(f)        # [7]
    
    g = random.sample(range(10), 3)
    # 从序列中随机选择n个元素,注意返回的顺序是乱序
    print(g)        # [8, 2, 9]
    
    data = [1, 2, 3, 4, 5]
    j = random.shuffle(data)
    # 将序列顺序打乱,注意这里不生成新序列,也就是这个序列必须是可变数据
    print(j)        # None
    print(data)     # [1, 4, 5, 2, 3]
    
    # 如果是不可变数据
    data2 = (1, 2, 3, 4, 5)
    data2_shuffle = random.sample(data2, len(data2))
    print(data2_shuffle)    # [1, 3, 4, 2, 5]

    注意python2中没有 random.choices

    随机种子seed

    seed方法改变随机数生成器的种子,通常在调用随机模块之前调用该方法。

    seed种子相同时,生成的随机数相同,seed种子不同时,生成的随机数不同,种子之间可以互相切换。

    print(random.random())  # 随机生成
    
    random.seed(0)
    print(random.random())  # 每次结果相同    0.844421851525
    print(random.random())  # 每次结果也相同,但不同于上一句的结果    0.75795440294
    
    
    random.seed(1)
    print(random.random())  # 0.134364244112
    
    random.seed(0)
    print(random.random())  # 0.844421851525    可以根据seed切换
    
    print(np.random.random())   # 随机的,random模块设定seed不影响np模块
    
    np.random.seed(0)
    print(np.random.random())   # 每次结果相同
  • 相关阅读:
    cocos2dx触摸响应
    MFC注册热键
    隐式类型转换
    virtualbox导入winXP系统OVA文件重启
    virtualbox虚拟机下的cdlinux找不到无线网卡的解决方法
    批处理,修改环境变量path的方法(加环境变量)
    什么是堆和栈,它们在哪儿?
    ON_WM_TIMER() void (__cdecl xx::* )(UINT)”转换为“void (__cdecl CWnd::* )(UINT_PTR)
    读书笔记:《你的知识需要管理》
    linux系统管理-软件包管理
  • 原文地址:https://www.cnblogs.com/yanshw/p/10562811.html
Copyright © 2011-2022 走看看