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())   # 每次结果相同
  • 相关阅读:
    最新的thinkphp 数据库字段 自动转为小写。是个坑,要小心
    游戏助手开发
    最新的thinkphp 后台入口的问题
    最近的小成就
    一个大坑1111111111
    一个大坑
    代码的重构
    PHP上传文件大小的修改
    博客园Markdown编辑器代码高亮失效(官方已修复)
    2014年最新前端开发面试题(题目列表+答案 完整版)
  • 原文地址:https://www.cnblogs.com/yanshw/p/10562811.html
Copyright © 2011-2022 走看看