• python生成各种随机小数,总有一种满足你的需求


    有时需要自己模拟生成数据,Python是最合适的工具了。下面是python中的random模块,它用于随机数生成的例子。

    (1) 随机小数

    import random
    print(random.random())   #随机大于0 且小于1 之间的小数
    #结果
    #0.6897784315368002
    print(random.uniform(0,9)) #随机一个大于0小于9的小数
    #结果
    #1.2981140261424073
    

    (2) 随机整数

    import random
    print(random.randint(0,10)) #随机一个大于等于0且小于等于10的整数
    #结果
    #8
    print(random.randrange(1,10,2)) #随机一个大于等于1且小于等于10之间的奇数,其中2表示递增基数
    #结果
    #9
    a = random.randrange(9, 100, 10)#从9、19、29、39、……、99之间,随机选取一个实数
    print(a)
    #结果
    #69
    

    (3) 随机返回列表中的元素

    import random
    print(random.choice(['123', 2.68, 52, [1, 2]])) #随机返回参数列表中任意一个元素
    #结果
    #[1, 2]
    print(random.sample(['123','abc',52,[1,2]],2)) #随机返回参数列表中任意两个元素,参数2指定返回的数量
    #结果
    #['123', 52]
    a = range(3,100,2)  #从列表里面随机选取9个数字
    b = random.sample(a, 9)
    print(b)
    #结果
    #[11, 33, 15, 57, 37, 73, 59, 9, 55]
    

    (4)打乱列表顺序

    import random
    list = [1,2,5,7,9,10]
    random.shuffle(list)
    print(list)
    #结果
    #[2, 1, 10, 5, 9, 7]
    

    (5)验证码生成器

    import random
    def random_num():
        code = ''
        for i in range(4):
            ran1 = random.randint(0, 9)
            ran2 = chr(random.randint(65, 90))
            add = random.choice([ran1, chr(random.randint(65, 90))])
            code = ''.join([code, str(add)])
        return code
    rand_n = random_num()
    print(rand_n)
    #结果
    #U9AQ
    

    (5) 写入文件

    import random
    count = 10
    #count = 100000000
    f1 = open('D:\svmdata.txt', 'w+')
    for k in range(0, count):
        print(k)
        num1 = random.randint(0, 1)
        num2 = random.choice([0, random.uniform(2, 3)])
        num3 = random.choice([0, random.uniform(2, 3)])
        data = str(num1)+' '+str(num2)+' '+str(num3)
        f1.write(data + '
    ')
    
    # print(random.choice([ 0, random.uniform(2, 3) ]))
    # print(random.randint(0, 1))
    # print(random.uniform(2, 3))
    

    结果:

    打开svmdata.txt:

    1 2.047277419041446 2.0363010600552003
    1 0 2.222463137076936
    0 2.2634002225313807 0
    1 2.507887676591875 2.649486851327983
    0 0 2.351092197191832
    1 2.129038547588649 0
    1 2.542448724199632 2.7332599439968863
    1 0 2.0074334074878664
    0 0 0
    1 0 2.7891750105778153
    
  • 相关阅读:
    如何强制360浏览器以极速模式打开页面
    如何解决Android SDK无法下载Package的问题(.net)
    Xamarin 安装步骤
    使用require.js和backbone实现简单单页应用实践
    HBuilder之初体验
    ClassLoader&双亲委派&类初始化过程
    List remove ConcurrentModificationException源码分析
    二十九、简谈设计模式
    二十八、Java基础--------正则表达式
    二十七、JDK1.5新特性---Annotation
  • 原文地址:https://www.cnblogs.com/wanpi/p/14946488.html
Copyright © 2020-2023  润新知