python生成各种随机小数,

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
————————————————
版权声明:本文为CSDN博主「夏日的风帆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dz89459506/article/details/127284632

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值